1.提供ssl证书和密码; 示例:把证书放到项目中的resource根目录下,yml文件中增加配置
server:
ssl:
key-store: classpath:mycert-uat.jks
key-store-password: password
key-store-type: JKS
2.如果无需保留http地址,那么配置完这里就结束了,如果需要保留http地址,可以在main方法中添加方法重定向到http地址
public ServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setPort(8080);//监听HTTP端口
connector.setRedirectPort(tomcat.getPort());//转发HTTPS端口
tomcat.addAdditionalTomcatConnectors(connector);
return tomcat;
}
3.我的需求是增加https地址,且不影响原有http地址,所以多部署了一套服务,和原服务区分开,就配置完第一步就可以了,
如果请求https时网址不安全可能是证书过期了,发布到服务器上的时候,要开放新的未被占用的端口给https服务,相关
linux操作:
查看端口是否已占用:netstat -ntulp |grep 8088
查看端口是否开放:lsof -i:8088
查看已经开放的端口: sudo firewall-cmd --list-ports
查看防火墙状态: sudo firewall-cmd --state
打开防火墙:sudo systemctl start firewalld
开放端口: sudo firewall-cmd --zone=public --add-port=8090/tcp --permanent
重启防火墙: sudo firewall-cmd --reload
端口开放成功
提供ip和端口配置https域名地址
配置服务器证书信任
步骤1:收集自签名证书
首先,你需要有自签名证书,可以使用任何自定义的证书生成工具如OpenSSL等来生成自签名证书,或者从现有的网站获取证书文件。
步骤2:把证书添加到受信任列表
接下来,你需要把自签名证书添加到受信任的证书列表中。可以使用update-ca-trust
命令来完成:
sudo update-ca-trust extract
接着,将证书文件复制到/etc/pki/ca-trust/source/anchors/
目录中,
sudo cp <your-certificate-file> /etc/pki/ca-trust/source/anchors/
接下来,使用update-ca-trust enable
来重新启用受信任的证书。
sudo update-ca-trust enable
这样,你就完成了把自签名证书添加到受信任列表的过程。