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

Terry
4-Jun-2007
[1245x6]
If you want to try this method for windows.. here's what you do.. 


1) download the windows binary from openssl.. ->   http://www.slproweb.com/products/Win32OpenSSL.html

2) Unzip.. and pull out the openssl.exe file from the bin folder.. 
. drop that file into your cheyenne www folder
3) Create a self-signed cert....
3a) run openssl.exe

3b) enter this line: req -x509 -nodes -days 365 -newkey rsa:1024 
-keyout localhost.pem -out localhost.pem
(localhost is the cert name)

3c) answer the questions... when asked 'who are you?' enter your 
domain,  or 'localhost' as I did 

This will generate the cert in your www folder (this is just a demo... 
the openssl server uses it's location as root www folder)

4) Start up the server... enter this line into openssl:  s_server 
-accept 443 -cert localhost.pem -WWW


Now open any file in your Cheyenne www folder using the https:// 
 protocol
you only need the openssl.exe file for this demo
If you acess Cheynne as https://localhost/myfile.htmlyou won't 
get the second cert warning
Stunnel would work
Wonder what Carl has in mind for library access with R3?
Can always call, but lib access would be nicer.
Graham
4-Jun-2007
[1251]
http://www.compkarori.co.nz:8080/wiki/index.php/HowTos:Stunnel
Terry
4-Jun-2007
[1252]
no go for me
Graham
4-Jun-2007
[1253]
well, I didn't try it ..just documented it!
Terry
4-Jun-2007
[1254]
ok.. working now
Graham
4-Jun-2007
[1255]
So, the howto is correct?
Terry
4-Jun-2007
[1256x7]
i missed the comment  in front of ;https[] in config
yeah
Works nicely too.. sit in sys tray
don't need to put into root folder (probably not a good place for 
the cert by the way)
and... can use to encrypt other protocols.. bonus
you could use it for cerebus
So, short of making Cheyenne cost $99. by forcing view/pro for lib 
access.. these are probably the best options.
Graham
4-Jun-2007
[1263]
R3 may well have these for free
Terry
4-Jun-2007
[1264]
You'll want to use OpenSSL to generate a cert for Stunnel to replace 
the default
Graham
4-Jun-2007
[1265x5]
If I have a large amount of html that I want to reuse in each page, 
rather than including it from the disk, can I define them as rebol 
variables to be reduced inside rsp pages?
Like Zope as it were.
And this to save me defining lots of static code in pages that is 
the same everywhere
I guess I can use Max's preprocessor for this
Does the rsp evaluate files included using include-file ?
Dockimbel
4-Jun-2007
[1270]
no
Graham
4-Jun-2007
[1271x3]
I've converted my site to https as well using the above howto .. 
only took 2 mins.  As you say, I have to generate a new certificate.

https://www.compkarori.co.nz/
Where is the debugging javascript added ?
when debug is true?
Pekr
4-Jun-2007
[1274]
I just recently received whole new website for our Xidys site ... 
it is - templates, but there is some php code in there, and it sucks 
- they did not tell me ;-) Unfortunatelly, templates are easy. They 
did a trick, when whole top, bottom section plus left menu is one 
template, and content is "included" into the template, according 
to what item you choose in the menu. The advantage is - you don't 
have repeating part on more than one place. Disadvantage is - when 
you want to display the content part, you easily can't, as that template 
waits for inclusion, does not have headers, and hence it does not 
link to css - that aproach sucks, it does not work without whole 
production environment ....
Chris
4-Jun-2007
[1275]
Terry, what method are you using to intercept 404s?
Terry
4-Jun-2007
[1276]
Chris, I basically set Cheyennes current mod-static to return false 
if 404, then created a module with the same phase with a 'if 404...' 
function. This second url-to-filename is set to 'last' in the new 
module.
Dockimbel
4-Jun-2007
[1277x7]
Another approach could be to install in your module a callback for 
'filter-output phase (not used in any builtin modules, yet) and test 
the return code. This way, you wouldn't need to patch mod-static 
and if you give it  order: 'first, it should be able to work even 
when I'll add callbacks to that phase. The purpose of this phase 
is to allow last minute changes on the response content, like encoding 
(think about JSON, for example), compressing (gzip, deflate) or encrypting 
it. These kinds of handlers would be installed as 'last in the phase 
callbacks order.
Here's an untested example  :
filter-output: func [svc req conf][
    either req/out/code = 404 [
        ...do_your_processing...
        ...
        true
    ][
        none
    ]
]
While I'm at it...here's the complete module code :
install-HTTPd-extension [
    name: 'mod-404
	
    order: [
        filter-output	first
    ]
	
    filter-output: func [svc req conf][
        either req/out/code = 404 [
            ...do_your_processing...
            ...
            true
        ][
            none
        ]
    ]
]
(don't forget to add the module name in httpd.cfg to make it loaded 
by Cheyenne)
I've fixed all issues related to session cookies and timezone (Windows 
platform included). Cookies strings are now only built once then 
cached, resulting in a litttle bit faster RSP processing. It will 
be included in the next version with other fixes and improvements 
in a couple of days.
btiffin
4-Jun-2007
[1284]
Thanks Doc...Your efforts are not going unnoticed...under appreciated 
maybe  :)
Dockimbel
4-Jun-2007
[1285x2]
Cheyenne is a key technology for my company, so we need to improve 
it rapidly, to be able to build higher levels frameworks, tools and 
applications (most of them will be open sourced). I currently have 
the opportunity to work most of my time on that project, that's why 
you see new releases coming often. I hope to be able to continue 
at the same rate for a couple more weeks, goal is to reach a v1 release 
candidate asap (some non-essential planned features might be kick 
out for v1.x in the process).
I'm grateful to you all, guys, who give me useful feedbacks and have 
the patience to wait for bug fixes ;-)
Pekr
4-Jun-2007
[1287]
I hope later on you will be able to migrate it to R3 :-)
Graham
4-Jun-2007
[1288]
I've haven't grokked modules yet ... using the above, how do I generate 
a standard 404 page?
Dockimbel
4-Jun-2007
[1289x3]
response/set-status 404 (see Response object API in %docs/ folder)
Pekr: sure, Cheyenne/Uniserve will benefit a lot from R3!
Graham: maybe I've missed the meaning of your question, you were 
talking from the module perspective ? From within a module's callback, 
to generate a 404, just use : req/out/code: 404 return true
Terry
4-Jun-2007
[1292x3]
What are your thoughts regarding SSL discussion earlier?
Here's Doc's 404 mod with processing for custom 404 page

install-HTTPd-extension [
    name: 'mod-404
	
    order: [
        filter-output	first
    ]
	
    filter-output: func [svc req conf][
        either req/out/code = 404 [
            
			req/out/code: 404
			req/out/content: "YOUR 404 HTML HERE"
			true
        ][
            none
        ]
    ]
]
note everytime you change this module you need to restart .. should 
probably change req/out/content to... 
req/out/content: read %mycustom404.html

Can then change the 404 page without restarting server