passing header information on to backend Apache/PHP

Larry Bates larry.bates at
Sun Apr 5 17:40:52 MSD 2009

What about passing parameter to your PHP script using rewrite rule?
rewrite  ^(.*)$  http:// <http://<url to backend server or IP:port>/> <url to
backend server or IP:port>/login.php?proto=SSL
I might not be understanding your exact problem though.
-Larry Bates


From: owner-nginx at [mailto:owner-nginx at] On Behalf Of Peter
Sent: Sunday, April 05, 2009 8:03 AM
To: nginx at
Subject: passing header information on to backend Apache/PHP


I'm using nginx 0.6.35, apache 2.0.63 and php 5.2.9.

My problem is, that I need my php scripts to know in some way or another whether
SSL is used or not (to include either https or http javascript files e.g.).

When using nginx as webfrontend proxy, it accepts all the ssl connections and
it's working fine, but when I proxy through to apache, the knowledge about SSL
is 'lost'. If possible, I don't want to be using different ports for proxying
through to apache.

I thought it'd be enough to set headers like:

for 80:
proxy_set_header           X-Secure     of;

for 443:
proxy_set_header           X-Secure     on;

put I have not found a way how I could retrieve those values from within the php
script. They seem to be filtered out by Apache.

Does anyone have an idea how I can get any custom set header, set in the
nginx.conf through to the php scripts?

Thanks a lot,

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the nginx mailing list