【Spring】SpringBootがhttpとhttpsアクセスを同時にサポートするように構成


httpアクセスの構成
証明書の生成JAVA開発環境が構成されている場合、keytoolコマンドを使用して証明書を生成できます.コンソールを開き、次のように入力します.
keytool -genkey -alias tomcat -dname "CN=Andy,OU=kfit,O=kfit,L=HaiDian,ST=BeiJing,C=CN" -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 365

入力すると、次のプロファイルで役立つパスワードの入力を求めるメッセージが表示されます.生成後、ホームディレクトリで証明書ファイルを見つけ、SpringBootアプリケーションのsrc/main/resourcesの下にコピーします.
2.SpringBootアプリケーションでのアプリケーション.propertiesはssl構成を追加します.
#https   .
server.port=443
#     .
server.ssl.key-store=classpath:keystore.p12
#    ,            .
server.ssl.key-store-password=123456(         )
#     
server.ssl.keyStoreType=PKCS12
#    
server.ssl.keyAlias=tomcat

SpringBootアプリケーションが起動し、httpsでアクセスできるようになりました.
【Spring】配置SpringBoot同时支持http和https访问_第1张图片
1.png
httpアクセスの構成
以前はプロファイルでhttpsが構成されていたため、httpはコード形式で構成されます.この構成も比較的簡単で、構成クラスを追加すればいいです.
@Configuration
public class TomcatConfig {

@Value("${server.http.port}")
private int httpPort;

@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
    return new EmbeddedServletContainerCustomizer() {
        @Override
        public void customize(ConfigurableEmbeddedServletContainer container) {
            if (container instanceof TomcatEmbeddedServletContainerFactory) {
                TomcatEmbeddedServletContainerFactory containerFactory =
                        (TomcatEmbeddedServletContainerFactory) container;

                Connector connector = new Connector(TomcatEmbeddedServletContainerFactory.DEFAULT_PROTOCOL);
                connector.setPort(httpPort);
                containerFactory.addAdditionalTomcatConnectors(connector);
            }
        }
    };
}
}

SpringBootアプリケーションが起動し、httpからアクセスできるようになりました.
【Spring】配置SpringBoot同时支持http和https访问_第2张图片
作者:慢游世界链接:https://www.jianshu.com/p/49bdcaf74513出典:簡書の著作権は作者の所有である.商業転載は著者に連絡して許可を得てください.非商業転載は出典を明記してください.