Tomcats RemoteIPValve未在部署为WAR文件的Spring Boot Application中调用

时间:2016-01-29 18:02:09

标签: spring tomcat spring-boot embedded-tomcat-7

My Spring Boot 1.3.2应用程序作为WAR文件部署到独立的tomcat7中。我正在尝试使用server.use-forward-headers=true中的# Generate Example Data `enter code here`pop <- data.frame(country=c("US","US","CA","CA","FR","FR"),year=c(1,2,1,2,1,2),value=c(290,300,29,30,50,55)) gas <- data.frame(country=c("US","US","CA","CA","FR","FR"),year=c(1,2,1,2,1,2),value=c(3.10,1.80,4.50,2.50,4.50,2.50)) cars <- data.frame(country=c("US","US","CA","CA","FR","FR"),year=c(1,2,1,2,1,2),value=c(2.1,2.2,1.8,1.9,1.3,1.3)) 激活RemoteIPValve。

但在处理请求时,RemoteIPValve未正确配置或调用。记录说:

  

检测到NonEmbeddedServletContainerFactory。

当我使用maven插件启动应用程序时,我得到了:

  

初始化Spring嵌入式WebApplicationContext

...并且RemoteIPValve按预期工作。如何使用WAR文件部署完成相同的操作?

1 个答案:

答案 0 :(得分:2)

将Spring Boot应用程序部署到独立Tomcat时,所有嵌入式服务器配置都不会生效。相反,您需要更新Tomcat安装的配置以启用阀门。要在默认配置中使用阀门,请将以下内容添加到server.xml

<Valve className="org.apache.catalina.valves.RemoteIpValve"/>