sprinb boot/cloud 使用HTTPS (ssl)

Posted 程序员陆通

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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:\\Users\\Administrator目录下已经生成了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

以上是关于sprinb boot/cloud 使用HTTPS (ssl)的主要内容,如果未能解决你的问题,请参考以下文章

java中高级面试利器(boot,cloud,vue前后端提升)

Spring/Boot/Cloud系列知识:SpringMVC进行HTTP信息接收和发送的过程

Spring/Boot/Cloud系列知识:SpringMVC进行HTTP信息接收和发送的过程

Spring/Boot/Cloud系列知识:SpringMVC进行HTTP信息接收和发送的过程

Spring/Boot/Cloud系列知识:SpringMVC进行HTTP信息接收和发送的过程

Spring/Boot/Cloud系列知识:SpringMVC进行HTTP信息接收和发送的过程