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

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