nginx的 proxy_set_header的反向代理设置

nginx的 proxy_set_header的反向代理设置

proxy_set_header用来设定被代理服务器接收到的header信息。

1).应用场景(反向代理的后台同一个机器有不同域名网站)

nginx服务并配置调度器,后端的两个web,端口也一样,都有虚拟主机:baidu和souhu,域名都是:

www.baidu.com 和 www.souhu.com 只是网页内容有点不同以作为区别。当访问百度时候,会轮询调度到后端的两个百度上,当访问搜狐的时候,也会轮询访问后面的两个搜狐上,需要做设置,否则当访问搜狐的时候,可能会访问到百度页面。

2).后台同一台机器两个网站域名的配置参考:apache的虚拟主机:

[root@localhost 桌面]# vim /etc/httpd/conf/httpd.conf

NameVirtualHost *:80

<VirtualHost *:80>

    ServerAdmin 1441107787@qq.com

    DocumentRoot /baidu

    ServerName www.baidu.com

    ErrorLog logs/baidu.com-error_log

    CustomLog logs/baidu.com-access_log common

</VirtualHost>

<VirtualHost *:80>

    ServerAdmin 1441107787@qq.com

    DocumentRoot /souhu

    ServerName www.souhu.com

    ErrorLog logs/souhu.com-error_log

    CustomLog logs/souhu.com-access_log common

</VirtualHost>

wq

3).设置proxy_set_header意义:

如果不设置proxy_set_header,则默认host的值为proxy_pass后面跟的那个域名或者IP(一般写IP),如果设置proxy_set_header,如 proxy_set_header host $host;那么就会访问哪个域名,就到哪个网站.

4).设置 X-Real-IP $remote_addr和proxy_set_header X-Forwarded-For意义:

proxy_set_header X-Real-IP $remote_addr;和proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

用来设置被代理端接收到的远程客户端IP,如果不设置,则header信息中并不会透传远程真实客户端的IP地址

一般配置反向代理的通用写法,就是都带上下面参数,如:

server {

    listen 80;

    server_name www.aminglinux.com;

    location /aming/

    {

proxy_pass http://192.168.1.10:8080/linux/;

proxy_set_header host $host;

proxy_set_header X-Real-IP      $remote_addr;

     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    }

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维实战课程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值