How can I make nginx set the HTTPS header in a single http/https
server? piwik with force_ssl=1 on apache goes into a redirect loop
because it doesn’t know SSL is on due to the nginx reverse proxy.
There is a piwik bug which references a similar problem and blames the
HTTPS header:
opened 11:54PM - 07 Feb 11 UTC
closed 04:01AM - 11 Feb 14 UTC
Bug
worksforme
I am running piwik on nginx with php-fpm and I have configured a vhost for port … 80 and one for 443. Both work just fine and I am able to login and use piwik via https.
However if I enable "force_ssl_login" Safari throws a "Too many redirects" error.
When using curl -k -v https://my-host.com/ I'm getting another
HTTP/1.1 302 Moved Temporarily
Location: https://my-host.com/
Is there maybe a header that is missing like X-FORWARDED-PROTO?
Keywords: ssl
On Sat, Mar 09, 2013 at 09:51:02PM -0800, Grant wrote:
Hi there,
How can I make nginx set the HTTPS header in a single http/https
server?
What is “the HTTPS header”?
piwik with force_ssl=1 on apache goes into a redirect loop
because it doesn’t know SSL is on due to the nginx reverse proxy.
This sounds like one or more fastcgi_param key/value pairs are not set
the way your application wants them to be set.
Module ngx_http_fastcgi_module is how you set them. And it
includes an example with the $https variable, which is described in
Module ngx_http_core_module
The usual nginx directive inheritance rules apply, so you’ll want to add
your fastcgi_param line to the correct place – possibly just after you
include the external file.
f
Francis D. [email protected]
How can I make nginx set the HTTPS header in a single http/https
server?
What is “the HTTPS header”?
I meant to say HTTPS environment variable.
piwik with force_ssl=1 on apache goes into a redirect loop
because it doesn’t know SSL is on due to the nginx reverse proxy.
This sounds like one or more fastcgi_param key/value pairs are not set
the way your application wants them to be set.
Module ngx_http_fastcgi_module is how you set them. And it
includes an example with the $https variable, which is described in
Module ngx_http_core_module
I should have mentioned that I’m using proxy_pass. I was able to get
it working like this:
proxy_set_header X-Forwarded-Proto $scheme;