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

  1. 云栖社区>
  2. 博客>
  3. 正文

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

skydev 2019-08-12 16:11:46 浏览225
展开阅读全文

申请证书

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;
    }
     }

网友评论

登录后评论
0/500
评论
skydev
+ 关注