我在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/

10-12 13:25