如何把自己的 http 服务做成 https?
1、申请一个域名,如 ccygm-cn.chaohuoyy.com;
2、在域名解析控制台,把 ccygm-cn.chaohuoyy.com绑定自己的服务器 ip,记录类型为 A;
3、在阿里云控制台找到 『SSL 证书』=>『免费证书』=> 『证书申请』,填写域名、公司、个人信息,下一步;
4、把第三步生成的『主机记录』『TXT 记录值』配置到域名解析后台,新建记录类型 TXT,填定
_dnsauth.ccygm-cn.chaohuoyy.com 主机记录
202206020000001vt86dbuobot7ptd803b0t 记录值
5、回到阿里云控制台,验证成功后,证书变为『已签发』状态,
6、把证书下载下来,含两个文件 7884261_ccygm-cn.chaohuoyy.com.key、 7884261_ccygm-cn.chaohuoyy.com.pem;
7、进入自己的服务器配置nginx,配置文件如下
cat /etc/nginx/servers/chain.conf
server { listen 6907; server_name ccygm-cn.chaohuoyy.com; rewrite ^(.*) https://$server_name$1 permanent; # 这里重定向到https } server { listen 6908 ssl; server_name ccygm-cn.chaohuoyy.com; ssl_certificate /root/data/soft/ssl/cert.pem; # 这里是下载下来的证书 ssl_certificate_key /root/data/soft/ssl/cert.key; # 这里是下载下来的证书 ssl_session_cache shared:SSL:1m; # 这里是开启缓存 大小1M ssl_session_timeout 5m; # 指定客户端可以重用会话参数的时间(超时之后不可使用) ssl_ciphers HIGH:!aNULL:!MD5; # 选择加密套件 ssl_prefer_server_ciphers on; # 设置协商加密算法时,优先服务端加密套件,而不是客户端浏览器的 location / { root html; index index.html index.htm; } location /data/blaze { proxy_pass http://sdfassdf.chaohuoyy.com/data/blaze; } }
8、重启 nginx
service nginx stop && service nginx start && service nginx status
9、访问
https://ccygm-cn.chaohuoyy.com:6908/
至此 https 配置成功
/data/blaze为实际为业务地址
https://ccygm-cn.chaohuoyy.com:6908/data/blaze