栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

重定向发布方法HTTP-> HTTPS-HTTP状态405(spring启动)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

重定向发布方法HTTP-> HTTPS-HTTP状态405(spring启动)

摆弄了多个教程后,答案是遵循官方指南…

http://docs.spring.io/spring-boot/docs/current-
SNAPSHOT/reference/htmlsingle/#howto-enable-multiple-connectors-in-
tomcat

更新:

import org.apache.catalina.connector.Connector;import org.apache.coyote.http11.Http11NioProtocol;import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import java.io.File;@Configurationpublic class HttpsConnector {    @Value("${cert.keyStore}")    private String keyStorePath;    @Value("${cert.trustStore}")    private String trustStorePath;    @Value("${cert.keyStorePass}")    private String keyStorePass;    @Value("${cert.trustStorePass}")    private String trustStorePass;    @Value("${cert.keyStoreType}")    private String keyStoreType;    @Value("${cert.trustStoreType}")    private String trustStoreType;    @Value("${cert.keyAlias}")    private String keyAlias;    @Value("${cert.httpsPort}")    private int httpsPort;    @Bean    public EmbeddedServletContainerFactory servletContainer() {        TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory();        tomcat.addAdditionalTomcatConnectors(createSslConnector());        return tomcat;    }    private Connector createSslConnector() {        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");        Http11NioProtocol protocol = (Http11NioProtocol) connector.getProtocolHandler();        String absKeyStorePath = getAbsolutePath(keyStorePath);        String absTrustStorePath = getAbsolutePath(trustStorePath);        connector.setScheme("https");        connector.setSecure(true);        connector.setPort(httpsPort);        protocol.setSSLEnabled(true);        protocol.setKeystoreType(keyStoreType);        protocol.setKeystoreFile(absKeyStorePath);        protocol.setKeystorePass(keyStorePass);        protocol.setTruststoreType(trustStoreType);        protocol.setTruststoreFile(absTrustStorePath);        protocol.setTruststorePass(trustStorePass);        protocol.setKeyAlias(keyAlias);        return connector;    }    private String getAbsolutePath(String path) {        File file = new File(path);        if (!file.isAbsolute()) { path = file.getAbsolutePath();        }        return path;    }}

组态:

#SERVER CONFIGserver.port=8090#Certificatecert.keyStore=src/main/resources/keystore.p12cert.trustStore=src/main/resources/keystore.p12cert.keyStorePass=...cert.trustStorePass=...cert.keyStoreType=pkcs12cert.trustStoreType=pkcs12cert.keyAlias=...cert.httpsPort=8443


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/515723.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号