首页 > 网站 > Nginx > 正文

nginx做反向代理访问动态页会暴露代理的域名的解决方法

2024-07-09 22:48:13
字体:
来源:转载
供稿:网友

 Nginx做反向代理时,可能会出现一个问题,当访问静态页面时,正常访问,但当访问动态页面时,就会跳转到原域名。

例如:www.test1.com反向代理www.test2.com ,即当访问www.test1.com时,其实是打开的www.test2.com的网站内容。

Nginx.conf的配置代码如下

server

{

     listen          80;

     server_name     www.test1.com;

 

     location / {

        proxy_pass          http://www.test2.com/;

        proxy_redirect      off;

        proxy_set_header    X-Real-IP       $remote_addr;

        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;

        }

}

 

这样配置,访问www.test1.com静态网页时,打开的是这个域名。但当访问网站上动态页面或者登陆网站后台时,就会跳转到www.test2.com这个域名了,这样就暴露我们的原域名了。

解决方法很简单,在上面代码中添加proxy_set_header $host www.test2.com;  ,修改后,代码如下:

server

{

     listen          80;

     server_name     www.test1.com;

     location / {

    proxy_set_header  $host  www.test2.com;   

        proxy_pass          http://www.test2.com/;

        proxy_redirect      off;

        proxy_set_header    X-Real-IP       $remote_addr;

        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;

        }

}

 

加上这段代码后,再检查网站,就会发现访问www.test1.com的动态页时,就不会跳转到原域名了。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表