IBM Bluemix在spring boot应用程序上强制执行https(Jhipster生成)

时间:2016-09-27 16:29:18

标签: tomcat https spring-boot ibm-cloud jhipster

我需要在部署在IBM Bluemix上的spring-boot应用程序(生成jhipster)上强制执行https。我正在部署没有嵌入式tomcat的spring-boot war,cloudfoundry的文档指定java build pack本身为Tomcat配置了RemoteIPValve ,所以我不需要在StackoverFlow上添加许多答案所指定的标题。

server.tomcat.remote_ip_header=x-forwarded-for
server.tomcat.protocol_header=x-forwarded-proto

我还在安全配置中添加了以下代码

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.requiresChannel().anyRequest().requiresSecure();
}

我的应用仍未被重定向到https。

我还有一个疑问,如果在bluemix域上执行https,对自定义域也会有同样的工作吗?

谢谢, 瓦苏

1 个答案:

答案 0 :(得分:0)

应用程序Yaml配置

服务器:

  tomcat:
     remote_ip_header: x-forwarded-for
     protocol_header: x-forwarded-proto

以上tomcat标头告诉服务器原始请求是http还是https,

在方法configure(...)中覆盖:在ResourceServerConfigurerAdapter中配置(...),我们必须添加以下行

  

if(profile.equalsIgnoreCase(Constants.SPRING_PROFILE_PRODUCTION))   {                 。http.requiresChannel()anyRequest()requiresSecure(); }