Springboot jar包部署使用腾讯云SSL

一、申请有权威的SSL证书
我是在腾讯云申请的
在这里插入图片描述
二、jks文件复制到项目的resources目录

三、修改Spring Boot的application.properties

server.port<span class="token operator">=</span><span class="token number">443</span> server.ssl.key-store<span class="token operator">=</span>classpath:www.dorabox.club.jks server.ssl.key-store-password<span class="token operator">=</span><span class="token number">21421510911</span>(密码在第一步的keystorePass.txt中) server.ssl.key-store-type<span class="token operator">=</span>JKS
 server.port<span class="token operator">=</span><span class="token number">443</span>  server.ssl.key-store<span class="token operator">=</span>classpath:www.dorabox.club.jks  server.ssl.key-store-password<span class="token operator">=</span><span class="token number">21421510911</span>(密码在第一步的keystorePass.txt中)  server.ssl.key-store-type<span class="token operator">=</span>JKS 
server.port=443 server.ssl.key-store=classpath:www.dorabox.club.jks server.ssl.key-store-password=21421510911(密码在第一步的keystorePass.txt中) server.ssl.key-store-type=JKS

四、修改启动类,让http重定向到https

XXXApplication.java <span class="token function">import</span> org.apache.catalina.Context<span class="token punctuation">;</span> <span class="token function">import</span> org.apache.catalina.connector.Connector<span class="token punctuation">;</span> <span class="token function">import</span> org.apache.tomcat.util.descriptor.web.SecurityCollection<span class="token punctuation">;</span> <span class="token function">import</span> org.apache.tomcat.util.descriptor.web.SecurityConstraint<span class="token punctuation">;</span> <span class="token function">import</span> org.springframework.boot.SpringApplication<span class="token punctuation">;</span> <span class="token function">import</span> org.springframework.boot.autoconfigure.SpringBootApplication<span class="token punctuation">;</span> <span class="token function">import</span> org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory<span class="token punctuation">;</span> <span class="token function">import</span> org.springframework.context.annotation.Bean<span class="token punctuation">;</span> @SpringBootApplication public class WebchatApplication <span class="token punctuation">{<!-- --></span> public static void main<span class="token punctuation">(</span>String<span class="token punctuation">[</span><span class="token punctuation">]</span> args<span class="token punctuation">)</span> <span class="token punctuation">{<!-- --></span> SpringApplication.run<span class="token punctuation">(</span>WebchatApplication.class, args<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> /** * http重定向到https * @return */ @Bean public TomcatServletWebServerFactory <span class="token function-name function">servletContainer</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{<!-- --></span> TomcatServletWebServerFactory tomcat <span class="token operator">=</span> new <span class="token function-name function">TomcatServletWebServerFactory</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{<!-- --></span> @Override protected void postProcessContext<span class="token punctuation">(</span>Context context<span class="token punctuation">)</span> <span class="token punctuation">{<!-- --></span> SecurityConstraint constraint <span class="token operator">=</span> new SecurityConstraint<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> constraint.setUserConstraint<span class="token punctuation">(</span><span class="token string">"CONFIDENTIAL"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> SecurityCollection collection <span class="token operator">=</span> new SecurityCollection<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> collection.addPattern<span class="token punctuation">(</span><span class="token string">"/*"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> constraint.addCollection<span class="token punctuation">(</span>collection<span class="token punctuation">)</span><span class="token punctuation">;</span> context.addConstraint<span class="token punctuation">(</span>constraint<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span><span class="token punctuation">;</span> tomcat.addAdditionalTomcatConnectors<span class="token punctuation">(</span>httpConnector<span class="token punctuation">(</span><span class="token punctuation">))</span><span class="token punctuation">;</span> <span class="token builtin class-name">return</span> tomcat<span class="token punctuation">;</span> <span class="token punctuation">}</span> @Bean public Connector <span class="token function-name function">httpConnector</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{<!-- --></span> Connector connector <span class="token operator">=</span> new Connector<span class="token punctuation">(</span><span class="token string">"org.apache.coyote.http11.Http11NioProtocol"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> connector.setScheme<span class="token punctuation">(</span><span class="token string">"http"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> //Connector监听的http的端口号 connector.setPort<span class="token punctuation">(</span><span class="token number">8080</span><span class="token punctuation">)</span><span class="token punctuation">;</span> connector.setSecure<span class="token punctuation">(</span>false<span class="token punctuation">)</span><span class="token punctuation">;</span> //监听到http的端口号后转向到的https的端口号 connector.setRedirectPort<span class="token punctuation">(</span><span class="token number">443</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token builtin class-name">return</span> connector<span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span>
XXXApplication.java <span class="token function">import</span> org.apache.catalina.Context<span class="token punctuation">;</span> <span class="token function">import</span> org.apache.catalina.connector.Connector<span class="token punctuation">;</span> <span class="token function">import</span> org.apache.tomcat.util.descriptor.web.SecurityCollection<span class="token punctuation">;</span> <span class="token function">import</span> org.apache.tomcat.util.descriptor.web.SecurityConstraint<span class="token punctuation">;</span> <span class="token function">import</span> org.springframework.boot.SpringApplication<span class="token punctuation">;</span> <span class="token function">import</span> org.springframework.boot.autoconfigure.SpringBootApplication<span class="token punctuation">;</span> <span class="token function">import</span> org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory<span class="token punctuation">;</span> <span class="token function">import</span> org.springframework.context.annotation.Bean<span class="token punctuation">;</span> @SpringBootApplication public class WebchatApplication <span class="token punctuation">{<!-- --></span> public static void main<span class="token punctuation">(</span>String<span class="token punctuation">[</span><span class="token punctuation">]</span> args<span class="token punctuation">)</span> <span class="token punctuation">{<!-- --></span> SpringApplication.run<span class="token punctuation">(</span>WebchatApplication.class, args<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> /** * http重定向到https * @return */ @Bean public TomcatServletWebServerFactory <span class="token function-name function">servletContainer</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{<!-- --></span> TomcatServletWebServerFactory tomcat <span class="token operator">=</span> new <span class="token function-name function">TomcatServletWebServerFactory</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{<!-- --></span> @Override protected void postProcessContext<span class="token punctuation">(</span>Context context<span class="token punctuation">)</span> <span class="token punctuation">{<!-- --></span> SecurityConstraint constraint <span class="token operator">=</span> new SecurityConstraint<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> constraint.setUserConstraint<span class="token punctuation">(</span><span class="token string">"CONFIDENTIAL"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> SecurityCollection collection <span class="token operator">=</span> new SecurityCollection<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> collection.addPattern<span class="token punctuation">(</span><span class="token string">"/*"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> constraint.addCollection<span class="token punctuation">(</span>collection<span class="token punctuation">)</span><span class="token punctuation">;</span> context.addConstraint<span class="token punctuation">(</span>constraint<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span><span class="token punctuation">;</span> tomcat.addAdditionalTomcatConnectors<span class="token punctuation">(</span>httpConnector<span class="token punctuation">(</span><span class="token punctuation">))</span><span class="token punctuation">;</span> <span class="token builtin class-name">return</span> tomcat<span class="token punctuation">;</span> <span class="token punctuation">}</span> @Bean public Connector <span class="token function-name function">httpConnector</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{<!-- --></span> Connector connector <span class="token operator">=</span> new Connector<span class="token punctuation">(</span><span class="token string">"org.apache.coyote.http11.Http11NioProtocol"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> connector.setScheme<span class="token punctuation">(</span><span class="token string">"http"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> //Connector监听的http的端口号 connector.setPort<span class="token punctuation">(</span><span class="token number">8080</span><span class="token punctuation">)</span><span class="token punctuation">;</span> connector.setSecure<span class="token punctuation">(</span>false<span class="token punctuation">)</span><span class="token punctuation">;</span> //监听到http的端口号后转向到的https的端口号 connector.setRedirectPort<span class="token punctuation">(</span><span class="token number">443</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token builtin class-name">return</span> connector<span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> 
XXXApplication.java import org.apache.catalina.Context; import org.apache.catalina.connector.Connector; import org.apache.tomcat.util.descriptor.web.SecurityCollection; import org.apache.tomcat.util.descriptor.web.SecurityConstraint; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; import org.springframework.context.annotation.Bean; @SpringBootApplication public class WebchatApplication { public static void main(String[] args) { SpringApplication.run(WebchatApplication.class, args); } /** * http重定向到https * @return */ @Bean public TomcatServletWebServerFactory servletContainer() { TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() { @Override protected void postProcessContext(Context context) { SecurityConstraint constraint = new SecurityConstraint(); constraint.setUserConstraint("CONFIDENTIAL"); SecurityCollection collection = new SecurityCollection(); collection.addPattern("/*"); constraint.addCollection(collection); context.addConstraint(constraint); } }; tomcat.addAdditionalTomcatConnectors(httpConnector()); return tomcat; } @Bean public Connector httpConnector() { Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); connector.setScheme("http"); //Connector监听的http的端口号 connector.setPort(8080); connector.setSecure(false); //监听到http的端口号后转向到的https的端口号 connector.setRedirectPort(443); return connector; } }

原文链接:https://blog.csdn.net/mynameisjinxiaokai/article/details/121501402

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享