durusmail: qp: erroneous trailing slash added under scgi
erroneous trailing slash added under scgi
2006-04-04
2006-04-04
2006-04-04
2006-04-04
Re: erroneous trailing slash added under scgi
2006-04-04
erroneous trailing slash added under scgi
mario ruggier
2006-04-04
On Apr 4, 2006, at 12:55 PM, David Binger wrote:
> On Apr 4, 2006, at 4:10 AM, mario ruggier wrote:
>
>> Testing a site I have been working on under an scgi deployment has
>> caused some things to break.
>
> I assume that you mean that this behavior is present
> when scgi is being used, and not through the qp web server.
>
> My guess is that your mod_scgi configuration is not
> providing the right values for SCRIPT_NAME and
> PATH_INFO.  A "print get_request().__dict__" at the
> top of Publisher.fill_response_using_root_directory()
> would expose this, if it is true.
>
> Are you using the SCGIMount directive?

I was not using SCGIMount, and it appears that using it resolves the
problem. Switching to SCGIMount from a SCGIServer in a Location block
corrects the problem on both OS X and FreeBSD.

I see now there was some talk about it on the quixote list in Oct 05,
but I do not see this mentioned in the readme or the docs or wiki
anywhere. Or have I missed it? Maybe we should put some readily
accessible samples of likely apache confs, for SCGI?

Anyhow, thanks for the pointer, and the sample conf (Mike) ...

Anyhow, for what's it worth, here's is the request's dict, for the two
cases (both using FF, on apache1.3 on OS X):

(A) Using a Location block as conf:
     
         SCGIServer 127.0.0.1 4002
         SCGIHandler On
     

http://domain.org/request?abc=123
-> get_request().__dict__ :
{'fields': {u'abc': u'123'}, 'cookies': {'qx_lang': 'en'}, 'stdin':
', mode 'r' at 0x76f0f8>, 'environ':
{'HTTP_COOKIE': 'qx_lang="en"', 'SERVER_SOFTWARE': 'Apache/1.3.33
(Darwin) mod_scgi/1.9', 'SCRIPT_NAME': '/request', 'REQUEST_METHOD':
'GET', 'HTTP_KEEP_ALIVE': '300', 'SERVER_PROTOCOL': 'HTTP/1.1',
'QUERY_STRING': 'abc=123', 'CONTENT_LENGTH': '0',
'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O;
en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1', 'HTTP_CONNECTION':
'keep-alive', 'SERVER_NAME': 'domain.org', 'REMOTE_ADDR':
'83.113.168.22', 'SERVER_PORT': '80', 'SERVER_ADDR': '83.113.168.22',
'DOCUMENT_ROOT': '/Library/WebServer/Documents', 'SERVER_ADMIN':
'mario@ruggier.org', 'HTTP_HOST': 'domain.org', 'REQUEST_URI':
'/request?abc=123', 'HTTP_ACCEPT':
'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/
plain;q=0.8,image/png,*/*;q=0.5', 'REMOTE_PORT': '61988',
'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'SCGI': '1',
'HTTP_ACCEPT_ENCODING': 'gzip,deflate'}, 'scheme': 'http'}


(B) Using a SCGIMount directive:
     SCGIMount / 127.0.0.1:4002

http://domain.org/request?abc=123
-> get_request().__dict__ :
{'fields': {u'abc': u'123'}, 'cookies': {'qx_lang': 'en'}, 'stdin':
', mode 'r' at 0x76f140>, 'environ':
{'HTTP_COOKIE': 'qx_lang="en"', 'SERVER_SOFTWARE': 'Apache/1.3.33
(Darwin) mod_scgi/1.9', 'SCRIPT_NAME': '', 'REQUEST_METHOD': 'GET',
'PATH_INFO': '/request', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING':
'abc=123', 'CONTENT_LENGTH': '0', 'HTTP_ACCEPT_CHARSET':
'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_USER_AGENT': 'Mozilla/5.0
(Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1) Gecko/20060111
Firefox/1.5.0.1', 'HTTP_CONNECTION': 'keep-alive', 'SERVER_NAME':
'domain.org', 'REMOTE_ADDR': '83.113.168.22', 'SERVER_PORT': '80',
'SERVER_ADDR': '83.113.168.22', 'DOCUMENT_ROOT':
'/Library/WebServer/Documents', 'SERVER_ADMIN': 'mario@ruggier.org',
'HTTP_HOST': 'domain.org', 'REQUEST_URI': '/request?abc=123',
'HTTP_ACCEPT':
'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/
plain;q=0.8,image/png,*/*;q=0.5', 'REMOTE_PORT': '62078',
'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'SCGI': '1',
'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '300'},
'scheme': 'http'}

reply