当前位置:   article > 正文

springboot配置SSL证书设置https协议访问的端口_spring boot ssl端口和正常端口

spring boot ssl端口和正常端口

配置SSL证书需要证书文件 和 密钥

 

1. 将证书文件移动到resources目录下

 

2. 在yml配置文件中配置如下:

  1. server:
  2. port: 443 #服务端口
  3. ssl:
  4. key-store: classpath:4815826_wechat.leyishang.cn.pfx #SSL证书存放的位置
  5. key-store-password: TzkIG1k1 #密钥
  6. key-store-type: PKCS12 #证书的类型
  7. my:
  8. httpPort: 9000
  9. httpsPort: 443

效果图参考如下:

 

 

3. 创建一个配置文件 HttpToHttpsConfig.java

该配置的主要作用就是将所有的http请求重定向到https上进行操作,也就是说即使你访问http://127.0.0.1:80  也会重定向到 https://127.0.0.1:80 。

这里说一个题外话(https的默认端口是443端口)

 

HttpToHttpsConfig配置类代码如下(无序改动):
  1. import org.apache.catalina.Context;
  2. import org.apache.catalina.connector.Connector;
  3. import org.apache.tomcat.util.descriptor.web.SecurityCollection;
  4. import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
  5. import org.springframework.beans.factory.annotation.Value;
  6. import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
  7. import org.springframework.context.annotation.Bean;
  8. import org.springframework.context.annotation.Configuration;
  9. /**
  10. * 连接器配置 配置http向https的重定向,即使前端依然访问http,也会被定向到https
  11. */
  12. @Configuration
  13. public class HttpToHttpsConfig {
  14. @Value("${server.my.httpPort}")
  15. private int httpPort;
  16. @Value("${server.my.httpsPort}")
  17. private int httpsPort;
  18. /**
  19. * http重定向到https
  20. * @return
  21. */
  22. @Bean
  23. public TomcatServletWebServerFactory servletContainer() {
  24. TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
  25. @Override
  26. protected void postProcessContext(Context context) {
  27. SecurityConstraint constraint = new SecurityConstraint();
  28. constraint.setUserConstraint("CONFIDENTIAL");
  29. SecurityCollection collection = new SecurityCollection();
  30. collection.addPattern("/*");
  31. constraint.addCollection(collection);
  32. context.addConstraint(constraint);
  33. }
  34. };
  35. tomcat.addAdditionalTomcatConnectors(httpConnector());
  36. return tomcat;
  37. }
  38. @Bean
  39. public Connector httpConnector() {
  40. Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
  41. connector.setScheme("http");
  42. //Connector监听的http的端口号
  43. connector.setPort(httpPort);
  44. connector.setSecure(false);
  45. //监听到http的端口号后转向到的https的端口号
  46. connector.setRedirectPort(httpsPort);
  47. return connector;
  48. }
  49. }

 

4. 启动项目

https协议端口是433端口 , http协议的端口是9000

 

 

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/224651
推荐阅读
相关标签
  

闽ICP备14008679号