Nginx反向代理无法正常工作

时间:2018-06-22 10:23:39

标签: nginx reverse-proxy web-administration

我在不同的nginx(1.15.0)服务器上有两个域( server1 example.com server2 example.net )。我已尝试将 server2 设置为带有 ngx_http_substitutions_filter_module 的反向代理,但是它没有按预期工作。 由于我的配置, subs_filter 指令应将 example.com 替换为 example.net ,但是当我键入 example.net 在浏览器中,它将我重定向到 example.com

nginx.conf

Y1

example.net.conf

Y2

replace.conf

http {
 //other settings

 .....

 include /etc/nginx/sites-enabled/*;

 upstream example.com {
   server example.com;
 }

}

好像nginx会忽略 subs_filter 指令。 有人可以解释我如何使用ngx_http_substitutions_filter_module正确替换uri吗?谢谢您的指教!

1 个答案:

答案 0 :(得分:0)

问题解决了。 首先,我从 nginx.conf 中删除了上游:

upstream example.com {
  server example.com;
}

然后,我在 example.net.conf 中更改了以下几行:

  location / {
   ...
   try_files $uri @static;
  }

  location @static {
   ...
   proxy_pass https://example.com;

   ...

   ...
   ...
   proxy_redirect https://example.com https://example.net;
 }

除登录表单外,其他所有方法均正常。 Firefox可以正常工作,但是Chrome返回错误422。我想这是因为登录表单可以在javascript上工作​​。 无论如何感谢所有人!