为Nginx添加HTTPS证书

608 阅读2分钟

注:本教程主要测试Nginx服务器,其他服务器如Apache等同理。

准备工作

  1. 一个已备案的域名,(测试域名为ianhe.me);
  2. 可供访问的外网服务器,如阿里云ECS。

您将得到的结果

为您的网站实现HTTPS,传输将更加的安全,Chrome浏览器输入地址(如:www.ianhe.me)后观察地址栏状态:

Paste_Image.png
可查看证书信息:
Paste_Image.png

1.准备证书文件

首先登录阿里云管理控制台-安全-证书服务,点击购买证书服务,进入证书购买页面(这里选择的是免费的证书服务),选择免费型DV SSL,显示证书品牌为Symantec,点击右侧立即购买购买此证书。

Paste_Image.png
购买成功后在我的证书管理页面补全域名相关信息,等待供应商审核,审核完毕后点击右侧下载按钮下载证书文件(下载页面含有安装证书的说明)。
Paste_Image.png
该文件为zip压缩文件,FTP或直接通过SSH上传至服务器Nginx根目录。

2. Nginx配置

进入Nginx根目录,创建一个空文件夹(如:sslkey)

Paste_Image.png
将第一步准备好的证书zip文件解压缩至此目录,注:*.pem为证书文件,*.key为证书私钥文件,文件内容请勿修改。
Paste_Image.png
修改nginx.conf文件,编辑server段,修改监听端口为443端口(HTTPS默认端口),开启ssl监听,参考如下详细配置:
Paste_Image.png
需要注意ssl_certificatessl_certificate_key的路径必须填写正确,保存配置文件,重启nginx服务,去浏览器重新打开页面,输入地址:https://www.ianhe.me,查看结果。 如果觉得还要输入https很麻烦的话可以添加配置项,使得http请求默认跳转至https请求(见百度首页),在nginx.conf中添加一条server,具体配置如下:
Paste_Image.png
这样在浏览器地址栏输入www.ianhe.me可直接跳转至https。

以上,第一次写教程,感谢简书。