r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!Cheyenne] Discussions about the Cheyenne Web Server

Janko
20-Oct-2009
[6356x6]
(I am using AIDE for detecting file changes btw)
It's more that I want to observer the http traffic for things I set-up 
.. but a lot of data is in the POST-s ... could I use your regular 
logging and just add the post string ... if it would be longer than 
X chars I would truncate it.
but I don't want to nag you too much , because again I am not sure 
if I shouldn't try to do this on nginx side for this specific website
ha basically format is the same between nginx and cheyenne so the 
same parser parses cheyenne too (only cheyenne doesn't have referrer)
this is good then I can really make it a little more usefull and 
use it on all my projects .. if you need something like it tell me, 
(it's still very simple)
It produces this for now (but I will turn it to JSON and then I can 
render it with javascript/html in many ways) days / ip / requests

DAY: 19-Oct-2009
 ....
 VISITOR: 90.157.177.123
   20:22:37 ; GET ; /manage/invoices-sent.rsp ; -
   20:22:37 ; GET ; /manage/sign-in.rsp ; -

   20:22:39 ; POST ; /manage/sign-in.rsp ; https://www.cebelca.biz/manage/sign-in.rsp

   20:22:39 ; GET ; /manage/invoices-sent.rsp ; https://www.cebelca.biz/manage/sign-in.rsp
 VISITOR: 64.233.172.17
   22:11:19 ; GET ; / ; -
 VISITOR: 216.239.50.136
   22:11:21 ; GET ; / ; -
 VISITOR: 74.6.22.173
   23:21:23 ; GET ; /contact.rsp ; -
   23:21:25 ; GET ; /contact.rsp ; -
DAY: 20-Oct-2009
 VISITOR: 93.186.20.135
   00:20:52 ; GET ; / ; -
   00:20:54 ; GET ; / ; -
   ....
Dockimbel
20-Oct-2009
[6362]
Btw, you can also set an iptable rule to log those POST requests.
Janko
20-Oct-2009
[6363]
I didn't know that, but I was thinking if I could set loging at firewall 
level, thanks!
Janko
22-Oct-2009
[6364x3]
is there any way I could get pretty url-s with cheyenne?
like with rewrite module in apache .. I would need to map www.url.com/country/city/place 
to get params for example, or somehow get that directly so that some 
rsp would be called for all such folders and I could parse the url 
to get the data
if this is not possible (or complicated) I will place nginx infront 
of cheyenne
Dockimbel
22-Oct-2009
[6367]
Try with ALIAS keyword. See ChangeLog file for more info (search 
for ALIAS).
Janko
22-Oct-2009
[6368x2]
thanks
alias "/path/to/target" %script  -- I found this  .. can I use regex 
or something else to do 

AliasMatch ^/some-(.*) /script.rsp?a=$1
Dockimbel
22-Oct-2009
[6370x2]
No, only basic mapping is possible currently.
Btw, alias "/path" %script, should work for whole /path/*.
Janko
22-Oct-2009
[6372x6]
hm... then I would just need to parse url in the script instead of 
using request/content
much less mess than using another server infront and whole that mess
I will try it this way
could I do something like alias all except some pattern: for example 
all except /static/
will the script that get's called see the original url in request/parsed 
or will that be changed too? (I couldn't make it work yet otherwise)
alias "/show/" %www/mobispots.net/show.rsp -- gives me normal 404 
of cheyenne  (or any nonexistent file) 
<html><body><h1>404 Page not found</h1></body></html>

alias "/show/" %show.rsp -- gives me 
#[object! [
    code: 502
    type: access
    id: cannot-open

    arg1: %/D/devel/cheyenne0919/www/mobispots.net/www/mobispots.net/
    arg2: #[none]
    arg3: #[none]
    near: [change-dir first splitted: split-path file]
    where: #[none]
]]
Dockimbel
22-Oct-2009
[6378]
There no exceptions support in Alias. The rewrited url should be 
available in request/headers/location.
Janko
22-Oct-2009
[6379x2]
I suspect %show.rsp is the correct one (which gives that error) , 
because for any nonexistent file likse %show.rspaaa I get 404 so 
I suspect %www/mobispots.net/show.rsp is also not correct to use
do you have any idea why this error? %/D/devel/cheyenne0919/www/mobispots.net/www/mobispots.net/ 
doesn't exist, webapp is in %/D/devel/cheyenne0919/www/mobispots.net/
Dockimbel
22-Oct-2009
[6381]
Erratum: request/headers/location has nothing to do with aliases.
Janko
22-Oct-2009
[6382x2]
this is my config that makes error when I go on localhost/show/
default [	
	root-dir %www/mobispots.net/	
	default [%index.html %index.rsp %index.php]	
	on-status-code [ 404 "/custom404.html" ]	
	alias "/show/" %show.rsp
]
what do you mean with has nothing to do?
Dockimbel
22-Oct-2009
[6384x3]
It's not related to ALIAS but to another config option (REDIRECT).
Testing locally with latest SVN revision raises an error. Seems broken 
in the current version.
I don't have time now to investiguate much further this issue, I'll 
have a look tonight.
Janko
22-Oct-2009
[6387]
ok, thanks for your time!
Will
22-Oct-2009
[6388x3]
Janko, I use:
on-status-code [
	404 "/index.t"
]

that way you intercept all non existent urls and can do what you 
want
in mod-static/filter-output I patched this line:
req/loops < 4
with
req/loops < 1
so after intercepting an urs I can still set a 404
urs -> url
Janko
22-Oct-2009
[6391]
hi Will, what is index.t ? could I direct 404 to some.rsp ?
Will
22-Oct-2009
[6392x2]
yes put the path to an rsp that will act as broker in place of "index.t"
get the url with this:

url: any [select request/parsed/headers 'internal-referer request/parsed/url]
Janko
23-Oct-2009
[6394]
Will , thanks a lot, works like a charm :)
Will
23-Oct-2009
[6395]
good so, means Dock did a great job, but that we know already 8-)
Janko
23-Oct-2009
[6396]
this solution with 404 also gives me the "exclude" option that I 
needed so I don't have to have some additonal map but only www.some.com/country/city/place
Dockimbel
29-Oct-2009
[6397x2]
SVN r35 :

FIX: improved RSP script error catching involving unset! values.
FIX: fix for a rare case of RSP's response buffer corruption.
I'll update the CureCode server with this new version in a couple 
of hours.
Pekr
29-Oct-2009
[6399]
Does Cheyenne produce error log? I can see directory called /log, 
but I can see only default-access file in-there ...
Dockimbel
29-Oct-2009
[6400]
Error logs: sure. Currently these logs are stored in Cheyenne local 
folder.
Graham
29-Oct-2009
[6401]
trace.log
Pekr
29-Oct-2009
[6402]
why not in log directory = all in one place?
Dockimbel
29-Oct-2009
[6403]
Because I didn't had time to add code to support that feature which 
is probably very low priority currently. I'll probably add a config 
option to better control log storage for the v1.
Pekr
29-Oct-2009
[6404]
that's not really a problem - just a question on my side - was just 
wondering, if I have to turn logging-on somewhere, etc.
Terry
8-Nov-2009
[6405]
Hey Doc, how would you deal with an async socket (or .dll) that received 
events allowing realtime updates on a Cheyenne web page?