提问:为什么要把网站升级到 https?
解答:HTTPS 是一种基于SSL 协议的网站加密传输协议。网站安装 SSL 证书后,使用 HTTPS 加密协议访问,可激活客户端浏览器到网站服务器之间的 SSL 加密通道(SSL协议),从而实现高强度双向加密传输,防止传输数据被泄露或篡改。HTTPS 也就是 HTTP + SSL,是 HTTP 的安全版。
那如何配置呢,别慌,我来也~
首先,需要注意的一点:一张单域名版证书可以保护一个域名,当申请证书的域名是以“www”开头的子域名时,默认也可以保护不带“www”的主域名,例如为 www.sslzhengshu.com 申请SSL, 则 sslzhengshu.com 也可以在该SSL的保护下面;反正,为 sslzhengshu.com 申请SSL, 则 www.sslzhengshu.com也可以在该SSL的保护下面。因此无需重复申请。如果您为 login.sslzhengshu.com 申请 SSL, 则 sslzhengshu.com 默认是不会被保护的。

  1. 购买 SSL 证书,我选择的是免费版的
  2. 证书申请(证书绑定域名)
    填写证书绑定的域名、申请人信息,选择域名验证方式,验证并提交审核
  3. 证书下载
    在 SSL 证书页面,点击已签发标签,定位到需要下载的证书,点击右侧的下载,下载 Nginx 版证书压缩包到本地。
  4. 在服务器上安装 SSL 证书并重启nginx
    第一步:解压 Nginx 证书(有 .pem 和 .key 为后缀的两个文件)。
    第二步:在 Nginx 的安装目录下创建 cert 目录,将下载的两个文件上传到 cert 目录中。
    第三步:打开Nginx 的安装目录下的配置文件 conf.d/*.conf,替换为以下内容:
    server {
         listen 80;
         server_name localhost;
         rewrite ^(.*)$ https://$host$1 permanent; //实现http访问自动跳转到https
         location / {
         index index.html index.htm;
     }
     server {
         listen 443;
         server_name localhost;
         ssl on;
         root html;
         index index.html index.htm;
         ssl_certificate cert/domain name.pem;   #将domain name.pem替换成您证书的文件名。
         ssl_certificate_key cert/domain name.key;   #将domain name.key替换成您证书的密钥文件名。
         ssl_session_timeout 5m;
         ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
         ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
         ssl_prefer_server_ciphers on;
         location / {
         index index.html index.htm;
       }
    
    第四步:检查 nginx 配置 nginx -t
    此时,会有一个警告:nginx: [warn] the “ssl” directive is deprecated, use the “listen … ssl” directive instead in /etc/nginx/conf.d/www.test.com.conf:12
    解决:去掉ssl on;将listen 443 改为listen 443 ssl;
    执行nginx -t ok了!
    第五步:重启 Nginx 服务器 nginx -s reload。
  5. 进入阿里云/腾讯云安全组,开放 443 端口
  6. 云服务器的防火墙开启 443 端口
    firewall-cmd --zone=public --add-port=443/tcp --permanent 增加443端口
    firewall-cmd --reload 重启防火墙
  7. 访问,成功~
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐