Thanks Mike, you're right, an absolute URL worked. And the env is totally
borked, I've attached below what it looks like in the test method *before*
the redirect: ( from pbd). It looks like every string in there that comes
from a header has been mucked up. I have no idea where this would happen,
or why it's not happening on the other site. I'm hitting it via a mod proxy
entry, to pserve. I've attached my apache snippet too. If anyone has any
clue from here that would be great.
request.env:
{'HTTP_X_FORWARDED_SERVER':
'g,o,d,e,l,t,a,s,t,a,g,i,n,g,.,s,d,3,7,.,d,e,v', 'HTTP_COOKIE':
'_,_,u,t,m,a,=,2,3,3,9,9,4,7,7,5,.,2,0,6,7,6,2,7,5,0,4,.,1,4,1,6,1,6,2,0,2,4,.,1,4,1,6,1,6,2,0,2,4,.,1,4,1,6,1,6,2,0,2,4,.,1,;,
,_,_,u,t,m,z,=,2,3,3,9,9,4,7,7,5,.,1,4,1,6,1,6,2,0,2,4,.,1,.,1,.,u,t,m,c,s,r,=,(,d,i,r,e,c,t,),|,u,t,m,c,c,n,=,(,d,i,r,e,c,t,),|,u,t,m,c,m,d,=,(,n,o,n,e,)',
'HTTP_X_FORWARDED_HOST':
'g,o,d,e,l,t,a,s,t,a,g,i,n,g,.,x,o,r,n,o,t,.,c,o,m', 'SCRIPT_NAME': '',
'REQUEST_METHOD': 'GET', 'PATH_INFO': '/test_redirect', 'SERVER_PROTOCOL':
'HTTP/1.1', 'QUERY_STRING': '', 'CONTENT_LENGTH': '0', 'HTTP_USER_AGENT':
'M,o,z,i,l,l,a,/,5,.,0, ,(,M,a,c,i,n,t,o,s,h,;, ,I,n,t,e,l, ,M,a,c, ,O,S,
,X, ,1,0,.,8,;, ,r,v,:,3,7,.,0,), ,G,e,c,k,o,/,2,0,1,0,0,1,0,1,
,F,i,r,e,f,o,x,/,3,7,.,0', 'HTTP_CONNECTION': 'K,e,e,p,-,A,l,i,v,e',
'SERVER_NAME': '0.0.0.0', 'REMOTE_ADDR': '127.0.0.1', 'wsgi.url_scheme':
'http', 'paste.httpserver.proxy.host': 'dummy',
'paste.httpserver.proxy.scheme': 'http', 'SERVER_PORT': '8091',
'wsgi.input': <socket._fileobject object at 0x5298250 length=0>,
'HTTP_HOST': 'g,o,d,e,l,t,a,s,t,a,g,i,n,g,.,x,o,r,n,o,t,.,c,o,m',
'wsgi.multithread': True, 'HTTP_ACCEPT':
't,e,x,t,/,h,t,m,l,,,a,p,p,l,i,c,a,t,i,o,n,/,x,h,t,m,l,+,x,m,l,,,a,p,p,l,i,c,a,t,i,o,n,/,x,m,l,;,q,=,0,.,9,,,*,/,*,;,q,=,0,.,8',
'wsgi.version': (1, 0), 'wsgi.run_once': False, 'wsgi.errors': <open file
'<stderr>', mode 'w' at 0x7f1c58d931e0>, 'wsgi.multiprocess': False,
'HTTP_ACCEPT_LANGUAGE': 'e,n,-,U,S,,,e,n,;,q,=,0,.,5',
'HTTP_X_FORWARDED_FOR': '1,0,8,.,1,8,0,.,1,4,5,.,1,5,6', 'CONTENT_TYPE':
'', 'paste.httpserver.thread_pool': <paste.httpserver.ThreadPool object at
0x5297250>, 'HTTP_ACCEPT_ENCODING': 'g,z,i,p,,, ,d,e,f,l,a,t,e'}
apache:
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8091/ retry=5
ProxyPassReverse / http://127.0.0.1:8091/
On Tue, Apr 28, 2015 at 12:53 PM, Michael Merickel <[email protected]>
wrote:
> On Tue, Apr 28, 2015 at 2:04 PM, Iain Duncan <[email protected]>
> wrote:
> > g,o,d,e,l,t,a,s,t,a,g,i,n,g,.,x,o,r,n,o,t,.,c,o,m
>
> I don't have a good idea right now but my guess is possibly some code
> that is doing:
>
> >>> a
> 'godeltastaging.xornot.com'
> >>> ','.join(a)
> 'g,o,d,e,l,t,a,s,t,a,g,i,n,g,.,x,o,r,n,o,t,.,c,o,m'
>
> This is fairly hard to track down because of the relative url. Webob
> has some magic that forces the location to be an absolute url by
> prepending the environ's info about the current domain [1]. I'd first
> test an absolute param for location and make sure that works fine.
> After that I'd dive in in to webob.response.request_uri [2] and figure
> out what is going on.
>
> [1]
> https://github.com/Pylons/webob/blob/9b79f5f913fb1f07c68102a2279ed757a2a9abf6/webob/response.py#L1032
> [2]
> https://github.com/Pylons/webob/blob/9b79f5f913fb1f07c68102a2279ed757a2a9abf6/webob/response.py#L1234
>
> --
> You received this message because you are subscribed to the Google Groups
> "pylons-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/pylons-discuss.
> For more options, visit https://groups.google.com/d/optout.
>
--
You received this message because you are subscribed to the Google Groups
"pylons-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/pylons-discuss.
For more options, visit https://groups.google.com/d/optout.