Nginx反向代理轉發Host設置

需做一個網站的代理,直接訪問他的網站是這樣的

但是我做過按常規的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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章