我在bluemixforrestapi中运行一个spring引导应用程序。
目前,api调用同时在http和https中工作。
如何禁用http?你怎么认为?
最佳答案
在spring boot application.properties文件中添加以下两行
server.tomcat.internal-proxies=.*
server.use-forward-headers=true
添加以下spring配置bean
@Configuration
public class SecurityConfiguration {
@Bean
public EmbeddedServletContainerFactory tomcatEmbeddedServletContainerFactory() {
TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() {
@Override
protected void postProcessContext(Context context) {
SecurityConstraint securityConstraint = new SecurityConstraint();
securityConstraint.setUserConstraint("CONFIDENTIAL");
SecurityCollection collection = new SecurityCollection();
collection.addPattern("/*");
securityConstraint.addCollection(collection);
context.addConstraint(securityConstraint);
}
};
return tomcat;
}
}
因为在bluemix中已经强制使用了https,所以只要将http调用路由到https就足够了。但不管怎样,我想知道是否有人知道要重写它并强制执行自己的安全证书?
关于http - 为Bluemix API调用禁用HTTP,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45589126/