tutorial - Directiva nginx "servidor" con mĂșltiples entradas "server_name": siempre la primera se pasa a $_SERVER de PHP
php-fpm apache (2)
Establezca SERVER_NAME
para usar $host
en su configuración de fastcgi_params
.
fastcgi_param SERVER_NAME $host;
Fuente: http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_param
Mi archivo de configuración tiene un bloque de directiva de server
que comienza con ...
server {
server_name www.example1.com www.example2.com www.example3.com;
... para permitir el acceso al sitio con diferentes nombres de dominio.
Sin embargo, $_SERVER[''SERVER_NAME'']
siempre devuelve la primera entrada de server_name
, en este caso http://www.example1.com
Así que no tengo manera de saber qué dominio usó el usuario para acceder al sitio.
¿Hay alguna forma de decirle a nginx / fastcgi que pase el nombre de dominio real utilizado para acceder al sitio?
La única solución que he encontrado hasta ahora es repetir todo el bloque de server
para cada dominio con una entrada distinta server_name
pero obviamente estoy buscando uno mejor.
Esto está destinado y la solución adecuada es usar $_SERVER[''HTTP_HOST'']
en su código.
Debe interpretar SERVER_NAME
como un nombre de servidor verificado y HTTP_HOST
como una entrada de usuario que se puede modificar con bastante facilidad y, por lo tanto, no debe ser de confianza.