讓springboot Tomcat支持https協議


首先在命令框中執行以下命令

keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650

然后會讓你填入一些信息(隨意填,但是密碼得記住)

隨后會在用戶根目錄下生成文件,

將此文件copy到項目resources目錄下

然后配置yml

隨后在創建一個配置類,用來配置tomcat,同時我是為了測試websocket的wss(https的支持)方式:

 

@Configuration
public class TomcatConfiguration {
@Bean
public ServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();

tomcat.addAdditionalTomcatConnectors(createSslConnector());
return tomcat;
}

private Connector createSslConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
//Connector監聽的http的端口號
connector.setPort(8080);
connector.setSecure(false);
//監聽到http的端口號后轉向到的https的端口號
// connector.setRedirectPort(8443);
return connector;
}

/**
* 創建wss協議接口
*
* @return
*/
@Bean
public TomcatContextCustomizer tomcatContextCustomizer() {
System.out.println("init");
return new TomcatContextCustomizer() {
@Override
public void customize(Context context) {
System.out.println("init customize");
context.addServletContainerInitializer(new WsSci(), null);
}

};
}

連接成功,注意:如果走https,那么不能以ip方式訪問,需要以域名方式訪問;如果是http,則可以寫成例如127.0.0.1的ip地址

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM