nginx的port_in_redirect配置

nginx的port_in_redirect配置

本文主要讲解下port_in_redirect的实际用途。

场景

有一个80端口的nginx,要转发一个路径到另一个8080端口的nginx,配置如下

server {        listen       80  default_server;        server_name demoapp.com.cn;        location /public/ {            proxy_pass http://192.168.99.100:8080/public/ ;        }}

另外一个nginx的配置如下

server {        listen       8080  default_server;        location ~* /public/(share|webview) {            root   html ;            proxy_buffering off;            index  index.html index.htm;        }}
html目录里头有个public目录,public目录里头有share以及webview目录,存放各个子模块的静态资源。

问题

这样配置了之后,通过demoapp.com.cn/public/share访问的时候,会跳转到demoapp.com.cn:8080/public/share

假设这两个nginx监听同一个ip,如果不是同一个ip,估计要配置server_name以及开启server_name_in_redirect

这个时候,port_in_redirect就派上用场了。

server {        listen       8080  default_server;        location ~* /public/(share|webview) {            root   html ;            proxy_buffering off;            port_in_redirect off;            index  index.html index.htm;        }}
通过指定port_in_redirect off;告知nginx在redirect的时候不要带上port,如果没有配置,默认该值为true

doc

  • port_in_redirect
  • Nginx中的server_name_in_redirect和port_in_redirect指令

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部