nginx转发到不同的端口

好吧,我使用nginx来转发和从我的服务器和客户端的通信。 我的服务器通过端口6543接收通信,并且nginx将其转发到该服务器上的端口(从nginx代理服务器的端口80)

它工作正常,如果我inputhttp://mydomain.com/directory/ < – 注意尾部斜线

但如果我inputhttp://mydomain.com/directory < – 没有结尾斜杠

它变成http://mydomain.com:6543/directory/这当然不起作用,因为nginx服务器不期望在该端口上的任何东西。

我无法弄清楚如何解决这个问题。 帮帮我?

您需要将后端服务器上的port_in_redirect设置为off,并在前端服务器上使用proxy_redirect 。

您将不得不重写您的应用程序redirect到一个不同于它认为正在使用的端口。

此外,一些代理/caching服务器确实有用于从redirect中剥离端口号的实用程序。 但我不记得NGINX有这个。