Sadly, the issue reappeared, out of nowhere... But not at the point where repoze.what-1.0.9 redirects you to the login page, but on the login_handler page from repoze.who-1.0.19 ...
$ curl -v -d 'username=user&password=pass' https://sauce.zdv.uni-mainz.de:8088/login_handler > POST /login_handler HTTP/1.1 > User-Agent: curl/7.24.0 (x86_64-pc-linux-gnu) libcurl/7.24.0 GnuTLS/2.12.18 zlib/1.2.5 > Host: sauce.zdv.uni-mainz.de:8088 > Accept: */* > Content-Length: 42 > Content-Type: application/x-www-form-urlencoded > * upload completely sent off: 42 out of 42 bytes < HTTP/1.1 302 Found < Date: Thu, 31 May 2012 20:17:50 GMT < Server: PasteWSGIServer/0.5 Python/2.7.2+ < Location: http://sauce.zdv.uni-mainz.de:8088/post_login?__logins=0 < Content-Length: 295 < Content-Type: text/html; charset=UTF-8 < Vary: Accept-Encoding < <html> <head> <title>302 Found</title> </head> <body> <h1>302 Found</h1> The resource was found at <a href="http://sauce.zdv.uni-mainz.de:8088/post_login?__logins=0">http://sauce.zdv.uni-mainz.de:8088/post_login?__logins=0</a>; you should be redirected automatically. </body> </html> I change nothing on the settings regarding the wsgi.url_scheme... Any ideas? Am Montag, 21. Mai 2012 23:34:09 UTC+2 schrieb Moritz Schlarb: > > Thanks, Alessandro, > > For future references, I'd like to add, that you have to tell the proxying > Apache to set that header. > Therefore add the following line to the Apache proxy config: > > RequestHeader set X_URL_SCHEME https > > Then you can use > > environ['wsgi.url_scheme'] = environ.get('HTTP_X_URL_SCHEME', 'http') > > Cheers, > Moritz > > Am Montag, 21. Mai 2012 16:11:55 UTC+2 schrieb Alessandro Molina: >> >> The redirection is created using the protocol that has been used to >> fetch the request. >> As APACHE is probably fetching the answer from Paste using HTTP and >> not HTTPS you get the redirection as HTTP. >> >> You should add to your application a middleware that does something like: >> >> environ['wsgi.url_scheme'] = environ.get('HTTP_X_URL_SCHEME', >> 'http') >> or >> if environ['HTTP_X_PROXY_HOST'].split(':')[1] == '443': >> environ['wsgi.url_scheme'] = 'https' >> >> depending on which headers apache is setting on proxy. >> The point is that you have to detect if the original request was HTTPS >> or not and set url_scheme accordingly. >> >> On Mon, May 21, 2012 at 3:19 PM, Moritz Schlarb wrote: >> > I was sure I had already read something about that error, but I'm >> unable to >> > find it... >> > >> > I wanted to deploy a development version of my application on another >> port >> > at the Apache proxy frontend. >> > >> > So I added a https-only VirtualHost on Port 8088 and configured the >> > ProxyPass directives accordingly. >> > It works, but on some point I get redirected to the login page and then >> the >> > protocol does not preserve the https. >> > >> > curl gives me this: >> > >> > $ curl -I https://sauce.zdv.uni-mainz.de:8088/events/eip12/lessons/2 >> > HTTP/1.1 302 Found >> > Date: Mon, 21 May 2012 13:18:02 GMT >> > Server: PasteWSGIServer/0.5 Python/2.7.2+ >> > Content-Type: text/html; charset=UTF-8 >> > Location: >> > >> http://sauce.zdv.uni-mainz.de:8088/login?came_from=http%3A%2F%2Fsauce.zdv.uni-mainz.de%3A8088%2Fevents%2Feip12%2Flessons%2F2 >> >> > Set-Cookie: >> > >> webflash=%7B%22status%22%3A%20%22warning%22%2C%20%22message%22%3A%20%22You%20have%20no%20permission%20to%20manage%20Lessons%20for%20this%20Event%22%7D; >> >> >> > Path=/ >> > Vary: Accept-Encoding >> > >> > You see, the redirection goes to plain http. >> > (I've checked, the issue also occurs when I get redirected to the login >> page >> > on the normal instance, but since I do a redirection to the https >> protocol >> > in Apache, it is not bad there.) >> > >> > How can I make repoze.who redirect to the correct protocol? >> > >> > Cheers, >> > Moritz >> > >> > -- >> > You received this message because you are subscribed to the Google >> Groups >> > "TurboGears" group. >> > To view this discussion on the web visit >> > https://groups.google.com/d/msg/turbogears/-/x6RRuAtVH8oJ. >> > To post to this group, send email to [email protected]. >> > To unsubscribe from this group, send email to >> > [email protected]. >> > For more options, visit this group at >> > http://groups.google.com/group/turbogears?hl=en. >> > -- You received this message because you are subscribed to the Google Groups "TurboGears" group. To view this discussion on the web visit https://groups.google.com/d/msg/turbogears/-/Ic-IXyVz3wMJ. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/turbogears?hl=en.

