nginx服务器下配置和安装阿里云SSL证书
环境描述:阿里云ECS、CentOS 7
购买证书:
进入阿里云控制台,在左侧导航栏上点击CA证书服务,进入证书申请和购买页面。
1. 点击右上角,购买证书按钮,进入证书的选择页面,选择你想要的配置,个人网站的话建议免费版的可以配置多个域名,例如:neirong.org,demo.neirong.org。
2.支付成功后返回证书控制台,在证书控制台下可以看到你购买的证书列表。
4. 点击信息补全按钮绑定你的域名,根据提示,进行下一步的操作部分截图如下。
5. 信息补全后会发送一封邮件到你的邮箱里,点击邮箱中的链接,填写提示相关信息。在此操作中会有第二封邮件发送,此为验证码。
6. 上一步邮件中的链接也可以查看证书的状态,例如证书颁发成功之后,出现如下提示。
同样在阿里云的证书控制台页面,也会出现如下提示。
购买成功后到此结束,可以将证书下载下来,以便服务器配置。下载下来是两个文件,扩展名分别为.pme
和.key
。接下来是服务器的配置。
Nginx服务器配置
各个版本的操作系统默认nginx的配置文件目录不同,在Centos7下nginx的默认配置目录为:
/etc/nginx/conf.d需要配置以下内容:证书文件、HTTPS跳转
1. 证书文件比较容易,在你容易记住的目录下新建文件夹,将刚才下载的证书文件传到服务器上。
在这里,我将两个证书文件依次放在了/etc/nginx/ssl/cert目录下。
并且将证书文件的目录写在你的nginx.conf中。
需要注意的是,目录千万不要写错。
默认配置需要删除,或者保留的话注释要添加完整。
这时候可以重启服务器试下效果:
systemctl restart nginx.service如果重启服务器失败,可以通过命令:
systemctl status nginx.service -l来检查错误来源。下图是证书路径没有添加对,重启服务器报出的错误:
2. HTTPS跳转比较容易,只需如下配置即可,通过正则匹配来重写url的。
再次重启服务器,在Chrome浏览器下地址栏可以明显看到,url已经变成了你想要的小绿锁。
通过点击小绿锁查看证书信息,可以看到已经有了刚刚安装的证书详细信息。
有时候会出现https可以访问,但是浏览器是灰的的模样,不要着急,那是因为你的部分静态资源还是http开头的,所以需要将一些绝对路径的url替换成相对路径的url,就可以愉快的玩耍了。
值得注意的是,在阿里云,当同一个域名,申请了两个证书之后,并不会发生冲突,因为你的证书文件不同,日期也不同。不会因为你申请过而申请失败。
有意思的是,你可以用将其他类型或者品牌的证书装在不同的服务器,甚至配置在不同的端口下。彼此之间互不影响,和谐工作。