Can you show me the nginx configuration. Are the HTTP and HTTPS
sections distinct such that we could put different proxy_set_header
directives in each?

May have to troll through nginx source code to find out what all the
variables are that can be used as value for proxy_set_header.

Graham

2008/10/18 MJBoa <[EMAIL PROTECTED]>:
>
> When i try this out, HTTP_HOST has only the servername in it, no port.
> And I don't see a way anywhere in the nginx documentation to get the
> port that nginx got the request on.
>
> On Oct 18, 3:52 am, "Graham Dumpleton" <[EMAIL PROTECTED]>
> wrote:
>> Hmmm, I am an idiot aren't I. If have:
>>
>>   proxy_set_header   Host             $host;
>>
>> Then HTTP_HOST will have port 80/443 in it. The proxy_port is what the
>> proxy is connecting to. Yes/No?
>>
>> Graham
>>
>> 2008/10/18 Graham Dumpleton <[EMAIL PROTECTED]>:
>>
>> > Can someone help me flesh out this nginx configuration, or tell me
>> > whether doing things that aren't needed.
>>
>> > This is not for me, someone else is after it and want to understand
>> > what is required.
>>
>> > What is desired is to have nginx in front of Apache/mod_wsgi. The
>> > nginx would serve static files, and proxy dynamic requests to
>> > Apache/mod_wsgi.
>>
>> > That bit is okay, but want nginx to listen for both HTTPS and HTTP 
>> > requests.
>>
>> > If nginx accepts both HTTPS and HTTP inbound requests, but the proxy
>> > connections to Apache/mod_wsgi uses HTTP, then on Apache/mod_wsgi side
>> > wsgi.url_scheme will be http for both the original HTTPS and HTTP
>> > requests. Thus WSGI application can't tell if original request
>> > received by nginx was secure. Note am assuming here that nginx
>> > connection to Apache/mod_wsgi is via localhost and on secure box.
>>
>> > My assumption here is that nothing else in headers passed from nginx
>> > will indicate that original request was HTTPS.
>>
>> > One way I saw as away around this was to use on nginx side:
>>
>> >  proxy_set_header X-Proxy-Host $proxy_host;
>>
>> > This would have effect of setting header in proxied request of form:
>>
>> >  X-Proxy-Host: originalhost:80
>>
>> > for HTTP and:
>>
>> >  X-Proxy-Host: originalhost:443
>>
>> > for HTTPS.
>>
>> > In the WSGI script file for Apache/mod_wsgi, could then use a WSGI
>> > middleware to do something like:
>>
>> >  def application(environ, start_response):
>> >      if environ['HTTP_X_PROXY_HOST'].split(':')[1] == '443':
>> >        environ['wsgi.url_scheme'] = 'https'
>>
>> >      return _application(environ, start_response)
>>
>> > For nginx as front end to Apache/mod_wsgi does this make sense and/or
>> > is there a better way of getting to the Apache/mod_wsgi a flag
>> > indicating that original request was HTTPS rather than plain HTTP.
>>
>> > Graham
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
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/modwsgi?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to