nignx反向代理后获取不到域名或外网ip

在项目中遇到在访问域名、外网ip时。

通过$_SERVER['HTTP_HOST']总是获取到内网ip,开始以为是处于局域网下访问,路由问题。

后发现是nginx转发的问题:在nginx配置文件中增加:proxy_set_header Host $host; 就可以解决。

如果有两层转发,两个nginx配置文件都需要增加这句话。

    location /resPlatform/ {
        
proxy_set_header Host $host;
        proxy_connect_timeout 300s;
        proxy_read_timeout 300s;
        proxy_send_timeout 300s;
        proxy_next_upstream error timeout;
        proxy_next_upstream_timeout 10s;
        proxy_next_upstream_tries 2;
       
proxy_pass http://192.168.16.98:xxxx/;
    }

你可能感兴趣的:(Nginx,PHP)