一、概述此文仅为记录接入HTTPS的过程步骤以阿里云个人测试证书为例详细讲述了如何购买、配置、接入到最后实现网站的HTTPS部署。二、准备工作2.1购买个人测试证书注册阿里云账号进入直接搜索数字证书管理服务或者直接点击这里SSL证书商品页这里我们不去购买而去控制台申请个人免费证书点击去购买个人测试证书是免费的Pro版本是收费的不过也很便宜这里我们只做演示免费的够用。点击0元购买然后购买成功后会指引你跳到数字证书管理服务台然后可以看到有一个待申请的点击去申请证书填入你要绑定的域名默认下一步即可提交审核后就会看到当前证书状态为已签发点击下载可以看到这里以Nginx为例点击下载可以得到xxx.pem和xxx.key三、Nginx配置SSL证书3.1安装Nginx我这里自己用的Docker 安装的Nginx本地安装或者windows安装的也不影响主要是更改Nginx配置文件3.2 Docker 安装Nginx# 拉取镜像docker pull nginx# 生成容器 主要是为了获取到默认配置文件 这里随便启动先docker run--name nginx-p 9001:80-d nginx:latest# 创建文件夹mkdir/kiki/nginx/conf# 将容器nginx.conf文件复制到宿主机dockercpnginx:/etc/nginx/nginx.conf/kiki/nginx/conf/# 将容器conf.d文件夹下内容复制到宿主机dockercpnginx:/etc/nginx/conf.d/kiki/nginx/conf/# 将容器中的html文件夹复制到宿主机dockercpnginx:/usr/share/nginx/html/kiki/nginx/# 创建文件夹存放证书mkdir/kiki/nginx/conf/cert3.2.1将SSL证书放置到cert文件夹3.2.2配置Nginx的conf文件参考阿里手册在Nginx或Tengine服务器安装SSL证书# 复制已有监听 80 端口的 server 块新增为一个新的 server 块 server { # 将原有 listen 80 修改为 listen 80 改为 listen 443 ssl listen 443 ssl; # 原有 server_name可继续新增更多当前证书支持的域名 server_name example.com www.example.com; # 证书配置开始 # 指定证书文件中间证书可以拼接至该pem文件中请将 /etc/ssl/cert/ssl.pem 替换为您实际使用的证书文件的绝对路径 ssl_certificate /etc/ssl/cert/ssl.pem; # 指定私钥文档请将 /etc/ssl/cert/ssl.key 替换为您实际使用的私钥文件的绝对路径 ssl_certificate_key /etc/ssl/cert/ssl.key; # 配置 SSL 会话缓存提高性能 ssl_session_cache shared:SSL:1m; # 设置 SSL 会话超时时间 ssl_session_timeout 5m; # 自定义设置使用的TLS协议的类型以及加密套件以下为配置示例请您自行评估是否需要配置 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; # 指定允许的 TLS 协议版本TLS协议版本越高HTTPS通信的安全性越高但是相较于低版本TLS协议高版本TLS协议对浏览器的兼容性较差 ssl_protocols TLSv1.2 TLSv1.3; # 优先使用服务端指定的加密套件 ssl_prefer_server_ciphers on; # 证书配置结束 # 其它配置 }3.2.3 Docker启动Nginx服务docker run-d \-p 80:80 \-p 443:443 \--restartalways \--name nginx01 \-v/kiki/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \-v/kiki/nginx/conf/conf.d:/etc/nginx/conf.d \-v/kiki/nginx/conf/cert:/etc/nginx/cert \-v/kiki/nginx/logs:/var/log/nginx \-v/kiki/nginx/html:/usr/share/nginx/html \-d nginx:latest3.2.4访问https://你的域名或者输入http://example.com能够正常显示 就是成功了我这里就不贴原图了大功告成