【问题标题】:Spring Boot Localhost https issueSpring Boot 本地主机 https 问题
【发布时间】:2019-07-13 19:22:28
【问题描述】:

我想让我的本地主机从超文本传输​​协议变为安全套接字层超文本传输​​协议。所以我在我的 spring boot 项目中添加了一个密钥库,并像这样配置了我的 application.properties:

信息

但我在 chrome 中收到一个错误:

localhost uses an unsupported protocol.
ERR__VERSION_OR_CIPHER_MISMATCH

注意:我没有对任何 java 文件进行任何更改。

【问题讨论】:

    标签: spring spring-boot ssl tomcat


    【解决方案1】:

    当我遇到这个问题时,我通过bean 解决了它,如下所示。希望对你有帮助

    @Configuration
    class CustomConfiguration {
    
    @Bean
    public EmbeddedServletContainerFactory servletContainer() {
    final int port = 8443;
    final String keystoreFile = "/path/to/keystore"
    final String keystorePass = "keystore-password"
    final String keystoreType = "pkcs12"
    final String keystoreProvider = "SunJSSE"
    final String keystoreAlias = "tomcat"
    
    TomcatEmbeddedServletContainerFactory factory = 
            new TomcatEmbeddedServletContainerFactory(this.port);
    factory.addConnectorCustomizers( new TomcatConnectorCustomizer() {
        void    customize(Connector con) {
            Http11NioProtocol proto = (Http11NioProtocol) con.getProtocolHandler();
                proto.setSSLEnabled(true);
            con.setScheme("https");
            con.setSecure(true);
            proto.setKeystoreFile(keystoreFile);
            proto.setKeystorePass(keystorePass);
            proto.setKeystoreType(keystoreType);
            proto.setProperty("keystoreProvider", keystoreProvider);
            proto.setKeyAlias(keystoreAlias);
        }
    });
    return factory;
    }
    }
    

    还要确保使用 -storetype pkcs12 而不是 -storepass pkcs12 调用 keytool

    【讨论】:

      猜你喜欢
      • 2019-03-12
      • 1970-01-01
      • 2023-03-24
      • 2017-02-05
      • 2019-02-05
      • 2020-08-05
      • 1970-01-01
      • 2021-06-25
      • 2020-04-03
      相关资源
      最近更新 更多