免费SSL证书申请使用Let's Encrypt。
1、Let's Encrypt是国外一个公共的免费SSL项目,由 Linux 基金会托管,由Mozilla、思科、Akamai、IdenTrust和EFF等组织发起。
2、Let's Encrypt证书有效期三个月,每三个月需要续签证书。
3、Let's Encrypt注册主域名认证频率20个/周,同一域名重复认证 5次/周。
Window版认证工具下载:http://download.youkuaiyun.com/download/mlm588/10153822
认证过程参考:https://www.cnblogs.com/teamblog/p/6219204.html
免费证书获取后。
经过多次试验。Nginx和Tomcat按照如下方式配置可正常使用。即浏览器-》Nginx启用ssl,Nginx-》Tomcat还是普通http。
Nginx 配置:
server {
listen 443 ssl;
server_name www.[你的域名].cn;
#ssl_certificate C:\Users\Administrator\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org\[你的域名]-crt.pem;
#更正为*chain.pem证书,否则小程序调用会提示request:fail ssl hand shake error错误
ssl_certificate C:\Users\Administrator\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org\[你的域名]-chain.pem;
ssl_certificate_key C:\Users\Administrator\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org\[你的域名]-key.pem;
#ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://tomcat8080;#此处直接代理到tomcat,无需再走ssl加密隧道
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
Tomcat配置:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
scheme="https"
proxyName="www.[你的域名].cn"
proxyPort="443"/ >
scheme="https" #使用https方案
proxyName="www.[你的域名].cn" #代理域名
proxyPort="443" #安全ssl端口
访问测试成功。
证书检查工具:
1、https://cloud.tencent.com/product/ssl#userDefined10 (苹果ATS检测)
2、https://www.myssl.cn/tools/check-server-cert.html
Nginx:1.4.7
Tomcat:7.0.50