Nginx像Apache一样做反向代理

我们都知道Nginx是可以做反向代理的,就像Apache的ProxyPassReverse一样。
在apache中配置反向代理,我们这样写:
<VirtualHost myhost:80>
ServerName myhost
DocumentRoot /path/to/myapp/public
ProxyPass / http://myapp:8080/
ProxyPassReverse / http://myapp:8080/
</VirtualHost>

但是Nginx没有ProxyPassReverse,解决办法就是添加丢失的HTTP头:

server {
  listen myhost:80;
  server_name myhost;
  location / {
    root /path/to/myapp/public;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://myapp:8080;
  }
}

那些丢失的头信息都是什么呢?
X-Forwarded-For:客户端IP地址
X-Forwarded-Host:客户端发起的原始主机请求头信息
X-Forwarded-Server:代理服务器主机名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值