由于http访问不是很安全,所以现在上线的产品访问都需要配置成安全模式https,下面就来介绍一下,在nginx上配置https的步骤:
先登录阿里云服务,申请免费的ssl安全文件,如图:
点击下载后进入下载ssl文件页面,如图:
下载下来后,上传到linux服务器上,准备配置https,具体步骤如下:
文件说明:
1. 证书文件214545578440626.pem,包含两段内容,请不要删除任何一段内容。
2. 如果是证书系统创建的CSR,还包含:证书私钥文件214545578440626.key。
( 1 ) 在Nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为214545578440626.key;
一般cert位置都在:/usr/local/nginx/cert/
我们的两个文件如下:
( 2 ) 打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到:
# HTTPS server # #server { # listen 443; # server_name localhost; # ssl on; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_timeout 5m; # ssl_protocols SSLv2 SSLv3 TLSv1; # ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; # ssl_prefer_server_ciphers on; # location / { # # #} #}
( 3 ) 将其修改为 (以下属性中ssl开头的属性与证书配置有直接关系,其它属性请结合自己的实际情况复制或调整) :
server { listen 443; server_name localhost; ssl on; root html; index index.html index.htm; ssl_certificate cert/214545578440626.pem; ssl_certificate_key cert/214545578440626.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { root html; index index.html index.htm; } }
保存退出。
( 4 )重启 Nginx。
首先进入到nginx的sbin路经下,使用./nginx -t 命令,判断配置文件nginx.conf的语法是否正确
然后使用 ./nginx -s reload 命令重启nginx
重启后,使用 ps -ef|grep nginx 命令查看下nginx是否启动正常 ,看到如图则说明启动正常
使用https://访问以下网址,如果正常,则说明已经可以使用安全模式了