Nginx: Host-Header überschreiben, wenn fastcgi_pass @ verwendet wi
Ich versuche, den http-Host-Header zu überschreiben, der an meine PHP-basierte Anwendung übergeben wird (speziell Phabricator) bei Verwendung von fastcgi_pass.
Ich habe viele Beispiele dafür gefunden, wenn ich proxy_pass verwende, aber ich kann anscheinend kein Beispiel dafür finden, wie das mit fastcgi_pass gemacht wird. Insbesondere möchte ich, dass die Proxy-PHP-Anwendung den Host-Header als "phabricator.localhost" anzeigt.
(Der Grund dafür ist, dass ich der Phabricator-Webanwendung mehrere verschiedene Domänen zuordnen möchte, dass jedoch nur eine Domäne zugeordnet werden kann, und dass alle Anfragen, die nicht an diese eine Domäne gerichtet wurden, abgelehnt werden.)
Ich bin ziemlich neu in der Konfiguration von Nginx mit FastCGI, daher bin ich mir nicht sicher, wie fastcgi funktioniert. Jede Hilfe wird gebeten.
Hier ist meine Nginx-Serverkonfiguration:
server {
server_name phabricator.localhost www.example.com example.com;
root /opt/phabricator/phabricator/webroot;
location / {
index index.php;
rewrite ^/(.*)$ /index.php?__path__=/$1 last;
}
location = /favicon.ico {
try_files $uri =204;
}
location /index.php {
fastcgi_pass localhost:9000;
fastcgi_index index.php;
#### HERE ARE MY ATTEMPTS #####
#proxy_set_header HOST phabricator.localhost;
#fastcgi_param SERVER_NAME phabricator.localhost;
#fastcgi_pass_header 'Host: phabricator.localhost';
#fastcgi_pass_header 'Host: phabricator.localhost';
#add_header Host phabricator.localhost;
#proxy_set_header Host phabricator.localhost;
#### END ATTEMPTS ####
fastcgi_param REDIRECT_STATUS 200;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
}
}