Spring 部署为 WAR 文件的启动应用程序中未调用 Tomcats RemoteIPValve
Tomcats RemoteIPValve not invoked in Spring Boot Application deployed as a WAR file
我的 Spring Boot 1.3.2 应用程序作为 WAR 文件部署到独立的 tomcat7 中。我正在尝试使用 server.use-forward-headers=true
激活 RemoteIPValve,如 spring boot docs.
中所述
但是 RemoteIPValve 在处理请求时没有正确配置或调用。日志说:
NonEmbeddedServletContainerFactory detected.
当我使用 maven 插件启动应用程序时,我得到:
Initializing Spring embedded WebApplicationContext
... RemoteIPValve 正在按预期工作。如何使用 WAR 文件部署完成同样的任务?
当您将 Spring 启动应用程序部署到独立 Tomcat 时,嵌入式服务器配置的 none 会生效。相反,您需要更新 Tomcat 安装的配置以启用阀门。要在默认配置中使用阀门,请将以下内容添加到 server.xml
:
<Valve className="org.apache.catalina.valves.RemoteIpValve"/>
我的 Spring Boot 1.3.2 应用程序作为 WAR 文件部署到独立的 tomcat7 中。我正在尝试使用 server.use-forward-headers=true
激活 RemoteIPValve,如 spring boot docs.
但是 RemoteIPValve 在处理请求时没有正确配置或调用。日志说:
NonEmbeddedServletContainerFactory detected.
当我使用 maven 插件启动应用程序时,我得到:
Initializing Spring embedded WebApplicationContext
... RemoteIPValve 正在按预期工作。如何使用 WAR 文件部署完成同样的任务?
当您将 Spring 启动应用程序部署到独立 Tomcat 时,嵌入式服务器配置的 none 会生效。相反,您需要更新 Tomcat 安装的配置以启用阀门。要在默认配置中使用阀门,请将以下内容添加到 server.xml
:
<Valve className="org.apache.catalina.valves.RemoteIpValve"/>