John Davidson

php - How Can I override $_SERVER['SERVER_NAME'] in nginx configuration

0 comments
Message:


server {
listen 443 ssl;
ssl_certificate /Users/name/cert/example.dev.pem;
ssl_certificate_key /Users/name/cert/example.dev-key.pem;
ssl_ciphers HIGH:!aNULL:!MD5;
server_name example.dev;

location / {
proxy_pass http://localhost:8000;
proxy_read_timeout 60;
proxy_connect_timeout 60;
proxy_redirect off;
}

}

I have been try with below options. But still getting only localhost on $_SERVER['SERVER_NAME']



  • proxy_set_header Host $host;

  • include fastcgi_params; fastcgi_param SERVER_NAME proptexx.dev;



My Answer:
To override the $_SERVER['SERVER_NAME'] variable in the nginx configuration, you can use the fastcgi_param directive to set the SERVER_NAME variable to the desired value. Here is an example of how you can do this:

nginx
server {
listen 443 ssl;
ssl_certificate /Users/name/cert/example.dev.pem;
ssl_certificate_key /Users/name/cert/example.dev-key.pem;
ssl_ciphers HIGH:!aNULL:!MD5;
server_name example.dev;

location / {
proxy_pass http://localhost:8000;
proxy_read_timeout 60;
proxy_connect_timeout 60;
proxy_redirect off;
include fastcgi_params;
fastcgi_param SERVER_NAME example.dev;
}

}


In this configuration, the fastcgi_param directive is used to set the SERVER_NAME variable to "example.dev". This should override the default value of $_SERVER['SERVER_NAME'] in your PHP application when accessed through the nginx proxy.

Rate this post

5 of 5 based on 6459 votes

Comments




© 2024 Hayatsk.info - Personal Blogs Platform. All Rights Reserved.
Create blog  |  Privacy Policy  |  Terms & Conditions  |  Contact Us