• sprinb boot/cloud 使用HTTPS (ssl)


    一 概念

    SSL(Secure Sockets Layer,安全套接层)

    二 证书

    1 购买证书,费用几千元一年不等
    显示效果:
    这里写图片描述
    2 自己生成
    显示效果:
    这里写图片描述

    三 自己创建证书

    在windows系统上,在命令行中输入:

    keytool-genkey -alias tomcat  -storetype PKCS12 -keyalg RSA -keysize 2048  -keystore keystore.p12 -validity 3650
    然后按提示依次输入:
    您的名字与姓氏是什么?
      [lanliang]:  lu
    您的组织单位名称是什么?
      [lanliang]:  lanliang
    您的组织名称是什么?
      [lanliang]:  lanliang
    您所在的城市或区域名称是什么?
      [hz]:  hz
    您所在的省/市/自治区名称是什么?
      [hz]:  zhejiang
    该单位的双字母国家/地区代码是什么?
      [china]:  cn
    CN=lu, OU=lanliang, O=lanliang, L=hz, ST=zhejiang, C=cn是否正确?
      []:  yes
    您的名字与姓氏是什么?
      [lu]:
    您的组织单位名称是什么?
      [lanliang]:
    您的组织名称是什么?
      [lanliang]:
    您所在的城市或区域名称是什么?
      [hz]:
    您所在的省/市/自治区名称是什么?
      [zhejiang]:
    该单位的双字母国家/地区代码是什么?
      [cn]:
    CN=lu, OU=lanliang, O=lanliang, L=hz, ST=zhejiang, C=cn是否正确?
      []:  是

    在C:UsersAdministrator目录下已经生成了keystore.p12文件

    四 给spring boot/cloud项目添加配置

    1 配置文件中添加

    server:
      ssl:
        key-store: classpath:keystore.p12
        key-store-password: 123456
        keyStoreType: PKCS12
        keyAlias: tomcat

    2 main方法添加:

    @SpringBootApplication
    @EnableEurekaClient
    @ComponentScan("com.**.**")
    @MapperScan("com.**.**.admin.mapper")
    @EnableFeignClients
    public class AdminBootstrap {
      public static void main(String[] args) {
        new SpringApplicationBuilder(AdminBootstrap.class).web(true).run(args);
      }
    
      @Bean
      public EmbeddedServletContainerFactory servletContainer() {
        TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory();
        tomcat.addAdditionalTomcatConnectors(createStandardConnector()); // 添加http
        return tomcat;
      }
    
      // 配置http
      private Connector createStandardConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setPort(8812);
        return connector;
      }
    
    }
    

    启动服务:

    Tomcat initialized with port(s): 8763 (https) 8812 (http)

    五 验证效果

    https://192.168.158.21:8763/button/list?menuId=1
    接口返回正常

    参考:
    https://www.cnblogs.com/lianggp/p/8136540.html
    http://412887952-qq-com.iteye.com/blog/2400846
    https://blog.csdn.net/u012702547/article/details/53790722

  • 相关阅读:
    zabbix源码安装
    利用Linux系统生成随机密码的8种方法
    Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结
    Jenkins的参数化构建
    Jenkins中maven的作用--构建项目(三)
    Beans(dp,两次dp)
    Piggy-Bank(完全背包)
    Super Jumping! Jumping! Jumping!(dp)
    01串(dp)
    钱币兑换问题(完全背包)
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13310549.html
Copyright © 2020-2023  润新知