在使用Nginx做反向代理的時候,proxy_set_header功能可以設置反向代理後的http header中的host,
那麼常用的幾個設置中$proxy_host, $host,$http_host又都表示什麼意思呢?
Nginx的官網文檔中說下面這兩條是做反代時默認的,所以$proxy_host 自然是 proxy_pass後面跟着的host了
proxy_set_header Host $proxy_host;
proxy_set_header Connection close;
如果客戶端發過來的請求的header中有’HOST’這個字段時,
$http_host和$host都是原始的’HOST’字段
比如請求的時候HOST的值是www.csdn.net 那麼反代後還是www.csdn.net
如果客戶端發過來的請求的header中沒有有’HOST’這個字段時,
建議使用$host,這表示請求中的server name。