用文字记录生活,留下美好瞬间
原创

nginx配置SSL证书

共 2,069 字,需阅读 5 分钟
2019/12/07 上午
309 次阅读

#准备 SSL 证书和私钥

确保你已经有了 SSL 证书和对应的私钥。这些通常是从证书颁发机构获得的。你将需要两个文件:

  • 证书文件(例如 zhangwurui.cn.pem),包含公钥部分。
  • 私钥文件(例如 zhangwurui.cn.key),必须保持私密。

这里以阿里云的免费证书为例,你可以在 阿里云 购买证书,也可以使用免费的证书。

这里我已经登录了阿里云,然后点击 左上角产品,选择 安全菜单下的 SSL证书,点击 免费证书,立即购买,然后申请你需要的证书即可。这里我已经买过了,不能再次购买了,一年只能购买一次免费证书。

购买证书次数
购买证书次数

购买完成后,点击创建证书。填写域名验证方式,联系人等必填信息。注意CSR生成方式不需要变更,使用默认系统生成即可。点击提交审核等待审核完成。几分钟后,证书就会审核通过。

创建证书
创建证书

审核通过后点击下载按钮,这里我选择nginx。把下载的文件进行解压。

下载证书
下载证书

解压后的放置linux服务器下的/etc/nginx/ssl/目录下。如果没有ssl目录,则创建一个。

如果没有安装nginx,你可以看我的这篇文章 nginx的使用

通过xshell登录linux服务器,进入/etc/nginx/目录,然后把下载的ssl证书拷贝到/etc/nginx/ssl/目录下。

#编辑 Nginx 配置

编辑 Nginx 的配置文件,通常是 /etc/nginx/nginx.conf/etc/nginx/sites-available/default(取决于你的系统和配置方式)。在这个文件里,你需要做两件事:

  • 监听 443 端口:这是 HTTPS 的默认端口。
  • 配置 SSL 证书和私钥

一个典型的 SSL 配置段落可能看起来像这样:

          
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
server { listen 443 ssl server_name zhangwurui.cn # 密钥 ssl_certificate /etc/nginx/ssl/yourdomain.pem; # key ssl_certificate_key /etc/nginx/ssl/yourdomain.key; # 可选的 SSL 配置项,根据需要调整 ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH"; ssl_ecdh_curve secp384r1; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; # 其他 location 和 server 配置... }

#强制重定向 HTTP 到 HTTPS

如果你希望所有 HTTP 流量都被重定向到 HTTPS,你还需要在配置文件中的 HTTP 服务器块中添加如下代码:

          
  • 1
  • 2
  • 3
  • 4
  • 5
server { listen 80; server_name zhangwurui.cn; return 301 https://$host$request_uri; }

#测试配置并重启 Nginx

在完成配置后,先测试配置是否正确,然后重启 Nginx 服务。

          
  • 1
  • 2
sudo nginx -t # 测试配置文件是否有语法错误 sudo systemctl restart nginx # 或者 sudo service nginx restart

#验证 SSL 配置

最后,在浏览器中访问你的网站,确认 HTTPS 是否正常工作。

完!

自由转载 - 署名 - 非商业性使用
https://zhangwurui.cn/article/67
0/0条看法
访客身份
在下有一拙见,不知...
期待你的捷足先登