spring boot 系列学习记录:http://www.cnblogs.com/jinxiaohang/p/8111057.html

码云源码地址:https://gitee.com/jinxiaohang/springboot

一、HTTPS

  HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性   。HTTPS 在HTTP 的基础下加入SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面  。-----------来自百度百科

二、SSL证书生成

  通过本地jdk自带的证书生成工具keytool。进入到项目路径下,输入以下命令(需要系统的环境变量配置JDK):

keytool -genkey  -alias tomcat -storetype PKCS12 -keyalg RSA -keystore keystore.p12

  步骤如下:

第22章—开启HTTPS

 

三、配置文件

  1、将生成的keystore.p12复制到resource文件下。

第22章—开启HTTPS

   2、然后添加配置

server.port=8080
server.ssl.enabled=true
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=123456
server.ssl.key-store-type=PKCS12
server.ssl.key-alias=tomcat

 

四、HTTP端口转发

  1、如果是现在启动项目,访问 http://127.0.0.1:8080 会出现以下问题:

 第22章—开启HTTPS

 

  2、当然可以直接访问 https://127.0.0.1:8080 ,或者增加一个配置类,添加以下代码,并需改配置文件 

    @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(8443);
        return connector;
    }
View Code

相关文章:

  • 2021-05-09
  • 2022-12-23
  • 2021-07-08
  • 2022-03-03
  • 2022-03-03
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-08-11
  • 2021-07-01
  • 2021-10-19
  • 2021-12-11
相关资源
相似解决方案