nginx服务器下配置和安装阿里云SSL证书

环境描述:阿里云ECS、CentOS 7

购买证书:

进入阿里云控制台,在左侧导航栏上点击CA证书服务,进入证书申请和购买页面。

640.jpg

1. 点击右上角,购买证书按钮,进入证书的选择页面,选择你想要的配置,个人网站的话建议免费版的可以配置多个域名,例如:neirong.org,demo.neirong.org。

6402.jpg

2.支付成功后返回证书控制台,在证书控制台下可以看到你购买的证书列表。

6403.jpg

4. 点击信息补全按钮绑定你的域名,根据提示,进行下一步的操作部分截图如下。

6404.png

6405.jpg

5. 信息补全后会发送一封邮件到你的邮箱里,点击邮箱中的链接,填写提示相关信息。在此操作中会有第二封邮件发送,此为验证码。

6406.jpg

6. 上一步邮件中的链接也可以查看证书的状态,例如证书颁发成功之后,出现如下提示。

6407.jpg

同样在阿里云的证书控制台页面,也会出现如下提示。

6408.png

购买成功后到此结束,可以将证书下载下来,以便服务器配置。下载下来是两个文件,扩展名分别为.pme.key。接下来是服务器的配置。

Nginx服务器配置

各个版本的操作系统默认nginx的配置文件目录不同,在Centos7下nginx的默认配置目录为:

/etc/nginx/conf.d
需要配置以下内容:证书文件、HTTPS跳转

1. 证书文件比较容易,在你容易记住的目录下新建文件夹,将刚才下载的证书文件传到服务器上。

6409.jpg

在这里,我将两个证书文件依次放在了/etc/nginx/ssl/cert目录下。

并且将证书文件的目录写在你的nginx.conf中。

64010.jpg


需要注意的是,目录千万不要写错。

默认配置需要删除,或者保留的话注释要添加完整。

这时候可以重启服务器试下效果:

systemctl restart nginx.service
如果重启服务器失败,可以通过命令:
systemctl status nginx.service -l
来检查错误来源。下图是证书路径没有添加对,重启服务器报出的错误:

64011.jpg

2. HTTPS跳转比较容易,只需如下配置即可,通过正则匹配来重写url的。

64012.png

再次重启服务器,在Chrome浏览器下地址栏可以明显看到,url已经变成了你想要的小绿锁。

64013.png

通过点击小绿锁查看证书信息,可以看到已经有了刚刚安装的证书详细信息。

64014.jpg

有时候会出现https可以访问,但是浏览器是灰的的模样,不要着急,那是因为你的部分静态资源还是http开头的,所以需要将一些绝对路径的url替换成相对路径的url,就可以愉快的玩耍了。

值得注意的是,在阿里云,当同一个域名,申请了两个证书之后,并不会发生冲突,因为你的证书文件不同,日期也不同。不会因为你申请过而申请失败。

有意思的是,你可以用将其他类型或者品牌的证书装在不同的服务器,甚至配置在不同的端口下。彼此之间互不影响,和谐工作。

关键词: nginx