一 概念
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