需做一個網站的代理,直接訪問他的網站是這樣的
但是我做過按常規的proxy_pass代理分組+upstream塊做完後直接訪問我的代理端卻是這樣的
直接訪問了他的php界面。。。
因爲默認情況下反向代理是不會轉發請求中的Host頭部,需要加上如下參數,紅色部分
server {
listen 80;
server_name cdn.z***an.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_set_header Host $host;
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://104180.****.***.com/;
}
}
同時,upstream塊也不需要了,直接在proxy_pass後面寫上需要代理的域名,即可正常代理轉發。
如圖,正常訪問我的代理域名後即可轉發到該網站
參考博客:https://blog.csdn.net/willingtolove/article/details/90760848