Re: aserve proxy/url masquerading

John Foderaro <[email protected]> Tue, 05 Jul 2005 06:37:58 -0700
Newsgroups gmane.lisp.open-source.franz
Message-ID <[email protected]>
[I noticed that I'd failed to cc the opensource mailing list so
 I'm repeating this response for the benefit of the opensource readers]




 http proxying is a bit different than what your intuition tells you.

 You can tell Allegroserve to be a proxy by starting it with :proxy t
but that shouldn't change any of Allegroserve's behavior if you
access the server in the normal way from a web browser 
(e.g. http://myserver.com/whatever )

 What you have to do is then tell your web browser that you want
to use your web server as a proxy for all web pages you view.
The Preferences menu of the web browser will allow you to do this.
After you do this if you view  http://slashdot.org  the command
will go to your Allegroserve web server which will then send the 
request to slashdot.org and it will relay slashdot's response
back to your web browser.

 The proxy-proxy argument to net.aserve:start will cause Allegroserve
to not contact the destination host directly but instead to contact
another proxy which will handle the response.

 This may seem confusing but if you look at the http protocol
it's more clear.

 Normally the first line of an http request looks like

GET /index.html HTTP/1.1


 If your browser is in proxy mode then it will send this instead

GET http://slashdot.org/index.html HTTP/1.1


 Thus if your setup to communicate with a proxy you always send
the full url and not just the path.


 It sounds like what you want to do with send part of the url-space
to another sever.  The best way to do this is via request filters


http://opensource.franz.com/aserve/aserve-dist/doc/aserve.html#filters


 Make sure that :proxy t is given to net.aserve:start in order
to make this work as you desire.