nginx 前端https +tomcat 后端 http 非80、443端口反向代理的配置方式

前端nginx https +tomcat http 非80端口配置方式

Nginx增加以下配置

proxy_set_header Host host:host:server_port; 非80端口 ,用80端口时 不需要$server_port

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto $scheme;        //主要加这个协议

Tomcat server.xml配置

<Engine name="Catalina" defaultHost="localhost">

位置: <Host ....中  />

<!-- 方法一: -->
    <Valve className="org.apache.catalina.valves.RemoteIpValve" protocolHeaderHttpsValue="https" remoteIpHeader="X-Forwarded-For" protocolHeader="X-Forwarded-Proto" />

<!-- 方法二: -->
      <Valve className="org.apache.catalina.valves.RemoteIpValve"
             remoteIpHeader="X-Forwarded-For"
             protocolHeader="X-Forwarded-Proto"
             protocolHeaderHttpsValue="https"  httpsServerPort="7001"/> 非80端口时,必须增加httpsServerPort配置,不然request.getServerPort()方法返回 443.
</Engine>

例如:

tomcat

Last updated