记一次nginx配置https

本文写于2018年03月21日。

 

最近买了阿里云的ECS实例,想在上面搭建HTTPS服务。

首先上配置环境:

CentOS 7

php7

nginx-1.13

 

准备工作

搭建HTTPS服务必须要有一个域名。于是在阿里上申请了个免费域名,并且做好备案一系列的手续。域名终于可以正常使用了,高兴得不行。然后去申请SSL证书,阿里上有免费的证书可以申请。

不用多久证书签发下来了,有效期为一年。

然后我们需要把证书下载下来,解压得到两个文件 .pem  和  .key ,把这两个文件上传到服务器上,在nginx目录中建立一个cert文件夹存放。

 

Nginx设置

首先要确认你的nginx是否已经编译了http_ssl模块

 

linux-test:~ # /usr/local/nginx/sbin/nginx -V nginx version: nginx/1.6.0 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) TLS SNI support enabled configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=/usr/local/src/openssl-1.0.1/

 

修改配置,设置全局https访问,让http访问跳转到https上。

记一次nginx配置https

 

 

测试配置是否正确:

/usr/local/nginx/sbin/nginx -t

重新加载配置:

/usr/local/nginx/sbin/nginx -s reload

防火墙开放443端口

firewall-cmd --permanent --zone=public --add-port=443/tcp;

 

 

原以为这样结束了,结果用浏览器访问还是无法请求到。原来我忘记了在阿里云上的安全组规则中开放443端口。

记一次nginx配置https

 

终于可以访问啦!!!