Nginx Problem with fastcgi_param
mike503 at gmail.com
Wed May 14 03:24:07 MSD 2008
I don't believe HTTP_HOST is one you set. I think it's determined by PHP
This is what I set (SERVER_NAME in nginx seems to be different than HTTP_HOST)
fastcgi_param SERVER_NAME $http_host;
Then the people's scripts that were using $_SERVER['SERVER_NAME'] work
properly. Typically I try to use $_SERVER['HTTP_HOST'] ...
$http_host is a variable in nginx, but I think HTTP_HOST in PHP is
being set on its own. not via a param you pass. could be a possible
"bug" in PHP to say "if I want to override default PHP behavior for
HTTP_HOST, I should be able to do it"
Could this be resolved with $_SERVER['SERVER_NAME'] in your PHP code?
and/or in combination with changing it to be $http_host in the fastcgi
On 5/13/08, Erik Osterman <e at osterman.com> wrote:
> We've been running Nginx(0.5.33)+FastCGI(php-cgi 5.1.6) on Fedora 6 for 1
> week now and very happy with it. Before this, we were using Nginx as
> strictly a HTTP load balancer. I have encountered an issue migrating to
> FastCGI, which is that HTTP_HOST cannot be set using fastcgi_param. It seems
> that no matter what I pass (e.g. foobar.com), Nginx is not honoring it,
> passing the real HTTP_HOST of the request instead. The other variables like
> SCRIPT_FILENAME and SCRIPT_NAME are getting set properly if I change them.
> Is there something I am doing wrong or is this a known issue?
More information about the nginx