后端服务器响应后更改主机头

时间:2018-07-06 08:43:54

标签: nginx nginx-location nginx-reverse-proxy

我有一个代理设置,用于接收来自external.example.com(www.example.com是external.example.com上的选项卡)对www.example.com的客户端请求。代理接收到该请求并将其发送到www.example2.com到具有多个带有主机标头的网站的后端服务器。现在,当www.example2.com使用路径和查询字符串ex:https://www.example2.com/results进行响应时。我希望它被代理服务器拦截,并让代理服务器仅将标头更改为http://www.example.com而不进入循环并显示结果。我试过proxy_set-header主机和proxy_redirect都失败了。下面是我的配置:

    server {
    listen 80;
    listen [::]:80;

   server_name www.example.com;

    #root /var/www/www.example.com;
    #index index.html;

   location / {
   proxy_pass http://www.example2.com;
  proxy_set_header Host http://www.example.com;
  OR
  Proxy_redirect https://www.example2.com$1 http://www.example.com
              }
           }  

1 个答案:

答案 0 :(得分:0)

我正在对aws elb后面的URL执行proxy_pass。 elb删除了设置的主机头命令和代理重定向。 IO将其更改为特定实例,并按预期开始工作。感谢您的帮助@nbari