一、获取 SSL 证书

  1. 选择证书颁发机构(CA)
    • 也可以选择一些云服务提供商(如阿里云、腾讯云等)提供的 SSL 证书,部分也有免费版本,且在其云平台内配置相对方便。
  1. 获取证书
    • 在云服务提供商获取证书
      • 以JoySSL为例,注册并登录JoySSL控制台,进入 SSL 证书服务页面。
      • 点击 “购买证书”,选择免费证书类型,按照提示填写域名等信息完成购买(免费证书通常需要进行简单的域名验证)。
      • 完成后,在证书列表中找到已获取的证书,点击 “下载”,选择 Nginx 服务器类型,下载证书文件,一般会得到一个压缩包,解压后包含.pem格式的证书文件和.key格式的私钥文件。

免费HTTPS证书https://www.joyssl.com/certificate/select/free.html?nid=7

填写注册码(230907)即可获取免费申请证书资格

二、配置 Nginx 使用 SSL 证书

  1. 备份原 Nginx 配置文件

在修改配置文件之前,先进行备份,以防配置出错。假设 Nginx 配置文件为/etc/nginx/sites - available/default,执行以下命令备份:

sudo cp /etc/nginx/sites - available/default /etc/nginx/sites - available/default_backup
  1. 编辑 Nginx 配置文件

打开 Nginx 配置文件进行编辑:

sudo nano /etc/nginx/sites - available/default
  1. 添加 SSL 配置

在配置文件中添加或修改以下内容以启用 HTTPS:

server {
    listen 443 ssl;
    server_name your_domain.com www.your_domain.com;
    ssl_certificate /path/to/your_domain.com.pem;
    ssl_certificate_key /path/to/your_domain.com.key;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    location / {
        # 原有的网站配置内容,如root路径等
        root /var/www/html;
        index index.html index.php;
    }
}
  • listen 443 ssl:表示监听 443 端口并启用 SSL。
  • server_name:指定域名。
  • ssl_certificate:指定证书文件路径,/path/to/your_domain.com.pem替换为实际证书文件路径。
  • ssl_certificate_key:指定私钥文件路径,/path/to/your_domain.com.key替换为实际私钥文件路径。
  • ssl_protocols:指定允许的 TLS 协议版本,这里只允许 TLSv1.2 和 TLSv1.3,以提高安全性。
  • ssl_ciphers:指定加密算法。
  1. 配置 HTTP 重定向到 HTTPS

为了确保所有 HTTP 请求都重定向到 HTTPS,在 Nginx 配置文件中添加以下server块:

server {
    listen 80;
    server_name your_domain.com www.your_domain.com;
    return 301 https://$server_name$request_uri;
}
  1. 检查配置并重启 Nginx

完成配置后,检查 Nginx 配置是否正确:

sudo nginx -t

如果配置检查通过,重启 Nginx 服务使配置生效:

sudo systemctl restart nginx

三、验证 HTTPS 配置

  1. 浏览器访问

在浏览器中输入你的域名,确保地址栏显示的是https://开头,并且浏览器地址栏旁边有安全锁标志,表明 HTTPS 配置成功。

  1. 使用在线工具验证

可以使用诸如 SSL Labs(https://www.ssllabs.com/ssltest/)等在线工具,输入你的域名进行检测,该工具会给出详细的 SSL 配置评估报告,包括证书信息、协议支持情况、加密算法等,可根据报告进一步优化 HTTPS 配置。


已注销
112 声望1 粉丝