undertow 支持 HTTPS
环境说明
生成证书需要 jdk 中的文件,在中标麒麟操作系统中内置的 jdk 没有尝试成功,后来使用上传新JDK的方式解决,现场可以灵活使用
生成秘钥证书
复制 keytool 文件
mdir /home/archser/services/keystore
cd /home/archser/services/keystore
cp /home/archser/soft/jdk1.8.0_221/bin/keytool ./
生成证书
[root@MiWiFi-R3600-srv keystore]
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]: li
您的组织单位名称是什么?
[Unknown]: li
您的组织名称是什么?
[Unknown]: 1
您所在的城市或区域名称是什么?
[Unknown]: 1
您所在的省/市/自治区名称是什么?
[Unknown]: 1
该单位的双字母国家/地区代码是什么?
[Unknown]: 1
CN=li, OU=li, O=1, L=1, ST=1, C=1是否正确?
[否]: 是
输入 <tomcat> 的密钥口令
(如果和密钥库口令相同, 按回车):
Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore ./server.keystore -destkeystore ./server.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。
切换标准
keytool -importkeystore -srckeystore ./server.keystore -destkeystore ./server.keystore -deststoretype pkcs12
配置后端开启HTTPS
修改后端项目的 undertow.properties 配置文件
undertow.host=0.0.0.0
## 更换一个 http 端口,防止端口冲突,随便写,不重复就可以
undertow.port=21033
undertow.contextPath=/archser
server.undertow.accesslog.pattern=%h %l %u %t "%r" %s %b %D
undertow.ssl.enable=true
## 让HTTPS使用原始端口
undertow.ssl.port=11032
undertow.ssl.keyStoreType=PKCS12
undertow.ssl.keyStore=/home/archser/services/keystore/server.keystore
undertow.ssl.keyStorePassword=Hywd@1qaz
undertow.http.toHttps=false
undertow.http.toHttpsStatusCode=302
undertow.http.disable=false
重启项目之后可以尝试访问 https://ip:11032/archser
|