cas-overlay-template 5.3.9 + Nginx + Tomcat 8 + Let's encrypt 免费 SSL 升级 https

简介: 申请证书https://yq.aliyun.com/articles/713724?spm=a2c4e.11155435.0.0.5a9f33121vK849将SSL证书由 .pem 格式转换成 Tomcat 所支持的 .

申请证书

https://yq.aliyun.com/articles/713724?spm=a2c4e.11155435.0.0.5a9f33121vK849

将SSL证书由 .pem 格式转换成 Tomcat 所支持的 .jks 格式

1、 首先将pem文件(包括证书和私钥)转换成pk12格式文件:
$ openssl pkcs12(证书类型) -export -in cert.pem(pem证书文件) -inkey key.pem(pem私钥文件) -out out.pk12(导出的pk12文件) -name out(证书及私钥的友好名字)

# 注意这里需要设置密码
$ openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out lsl_letsencrypt.p12 -name tomcat_letsencrypt
Enter Export Password:
Verifying - Enter Export Password:

经过上面的操作,/etc/letsencrypt/live/你的域名/ 目录下就生成了一个新的证书 lsl_letsencrypt.p12。
2、生成keystore(再将证书由.p12格式转换成.jks格式)
$ keytool -importkeystore -deststorepass 目标存储库口令 -destkeypass 目标密钥库口令 -destkeystore out.keystore(目标密钥库) -srckeystore out.pk12(源密钥库) -srcstoretype PKCS12(源存储类型) -srcstorepass 源存储库口令 -alias 别名

keytool -importkeystore -srckeystore lsl_letsencrypt.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore lsl_letsencrypt.jks

经过上面的两步操作,/etc/letsencrypt/live/你的域名/ 目录下就生成了一个新的证书 lsl_letsencrypt.jks

修改 cas 证书

把 lsl_letsencrypt.jks 拷贝到 cas-overlay-templatesrcmainresources 下
开启ssl
修改 cas-overlay-templatesrcmainresources 下的 apliction.properties 文件

server.ssl.enabled=true
server.ssl.key-store=classpath:lsl_letsencrypt.jks
# server.ssl.key-store=file:/etc/cas/thekeystore
server.ssl.key-store-password=123*456
server.ssl.key-password=123*456

参考博文 https://blog.csdn.net/qq_35748567/article/details/93297990

启动 cas 服务

进入 cas-overlay-template 目录,执行

build.cmd run
或者
build.cmd bootrun

Nginx 反向代理 cas


    upstream cas_server {
        server 127.0.0.1:8443;
    }

     server {
    # https://cas.sso.com/
    listen 443 ;
    server_name cas.sso.com;
    ssl on;

    ssl_certificate D:\\ProgramFiles\\nginx-1.14.2\\cert\\cas.sso.com\\fullchain.pem;
    ssl_certificate_key D:\\ProgramFiles\\nginx-1.14.2\\cert\\cas.sso.com\\privkey.pem;

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    location / {
         #root   html;
         #index  index.html index.htm;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header Host $http_host;
         proxy_set_header X-Forwarded-Proto https;
             proxy_redirect off;
             proxy_connect_timeout      240;
             proxy_send_timeout         240;
             proxy_read_timeout         240;
             # note, there is not SSL here! plain HTTP is used
             proxy_pass https://cas_server;
    }
     }
目录
相关文章
|
1月前
|
Web App开发 算法 应用服务中间件
nginx开启局域网https访问
【10月更文挑战第22天】为了调试WebRTC功能,需要在局域网内搭建HTTPS协议。具体步骤包括:在已部署Nginx和安装OpenSSL的环境中生成私钥、证书签名请求和自签名证书;将生成的文件放置到Nginx的证书目录并修改Nginx配置文件,最后重启Nginx服务。注意,自签名证书不受第三方机构认可,如需正式使用,需向CA申请签名。
|
1月前
|
存储 网络安全
Curl error (60): SSL peer certificate or SSH remote key was not OK for https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/repodata/repomd.xml [SSL: no alternative certificate subject name matches target host name 'update.cs2c.com.cn']
【10月更文挑战第30天】在尝试从麒麟软件仓库(ks10-adv-os)下载元数据时,遇到 SSL 证书验证问题。错误提示为:`Curl error (60): SSL peer certificate or SSH remote key was not OK`。可能原因包括证书不被信任、证书与域名不匹配或网络问题。解决方法包括检查网络连接、导入 SSL 证书、禁用 SSL 证书验证(不推荐)、联系仓库管理员、检查系统时间和尝试其他镜像。
256 1
|
2月前
|
安全 应用服务中间件 Shell
nginx配置https的ssl证书和域名
nginx配置https的ssl证书和域名
|
2月前
|
Docker 容器
docker nginx-proxy 添加自定义https网站
docker nginx-proxy 添加自定义https网站
43 4
|
3月前
|
安全 应用服务中间件 网络安全
简单比较 http https http2,我们要如何把http升级为https
【9月更文挑战第13天】本文对比了HTTP、HTTPS和HTTP/2的特点与适用场景。HTTP以明文传输,适合低安全要求的环境;HTTPS通过SSL/TLS加密,适用于电子商务等安全要求高的场景;HTTP/2采用二进制格式和多路复用,适合高性能Web应用。文章还详细介绍了将HTTP升级为HTTPS的步骤,包括申请和安装SSL证书、配置Web服务器、重定向HTTP流量到HTTPS以及测试HTTPS功能。升级到HTTPS可提高数据安全性和用户信任度。
100 13
|
2月前
|
安全 应用服务中间件 网络安全
修复HTTPS升级后出现 Mixed Content: The page at 'https://xxx' was loaded over HTTPS, but requested an insecure frame 'http://xxx'. This request has been blocked; the content must be served over HTTPS. 的问题
修复HTTPS升级后出现 Mixed Content: The page at 'https://xxx' was loaded over HTTPS, but requested an insecure frame 'http://xxx'. This request has been blocked; the content must be served over HTTPS. 的问题
|
4月前
|
算法 Java 测试技术
java 访问ingress https报错javax.net.ssl.SSLHandshakeException: Received fatal alert: protocol_version
java 访问ingress https报错javax.net.ssl.SSLHandshakeException: Received fatal alert: protocol_version
|
4月前
|
安全 网络安全 Windows
【Azure App Service】遇见az命令访问HTTPS App Service 时遇见SSL证书问题,暂时跳过证书检查的办法
【Azure App Service】遇见az命令访问HTTPS App Service 时遇见SSL证书问题,暂时跳过证书检查的办法
【Azure App Service】遇见az命令访问HTTPS App Service 时遇见SSL证书问题,暂时跳过证书检查的办法
|
4月前
|
缓存 算法 应用服务中间件
nginx搭建https服务器
nginx搭建https服务器
|
测试技术
tomcat7 https 成功测试
1,生成证书 2,自签导出证书 导入证书clients 配置tomcat 使用https,并修改8080->80 Note--请注意,一定要注意keystoreFile 及keystorePass 的字母大小写哦,不然是配置不成功的!
1093 0