知乎专栏 | 多维度架构 |
SERVER_NAME 与 HTTP_HOST 有什么不同,下面是nginx配置:
server { listen 80 ; server_name www.example.com example.com www.netkiller.cn; charset utf-8; access_log /var/log/nginx/www.example.com.access.log; error_log /var/log/nginx/www.example.com.error.log; if ($query_string = "") { set $args ""; } location / { root /www/example.com/www.example.com; index index.html; } }
当你使用上面的域名访问服务器时 SERVER_NAME 取到的永远是 server_name 配置的第一个域名,即:www.example.com
而 HTTP_HOST 是你浏览器URL上面的域名