前言
我的服务器环境是 CentOS 7.4 64位,安装的 lnmp 环境。由于个人需要,需要开启https。
开启步骤
一、申请证书
去阿里云官网申请ssl证书,申请步骤十分简单。这里不做过多表述。将下载好的
证书以及公钥(*.pem文件和 *.key文件)上传到服务器。附上我的上传目录 /usr/local/nginx/cert。
二、配置证书到nginx
输入 lnmp ssl add 命令,执行之后按照提示操作。具体操作步骤 点击这里 参考官方指导。配置成功之后如下图所示:
配置成功之后,我们查看 /usr/local/nginx/conf 目录,会多出一个ssl目录。切入到ssl 目录,有一个 *.pem文件。接着查看vhost目录(/usr/local/nginx/conf/vhost)查看网站对应的 .conf文件,多出一个server层:(已经开始监听443端口)
server
{
listen 443 ssl http2;
#listen [::]:443 ssl http2;
server_name www.***.xin ***.xin;
index index.html index.htm index.php default.html default.htm default.php;
root /home/www;
ssl on;
ssl_certificate /usr/local/nginx/cert/***.pem;
ssl_certificate_key /usr/local/nginx/cert/***.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
ssl_session_cache builtin:1000 shared:SSL:10m;
# openssl dhparam -out /usr/local/nginx/conf/ssl/***.pem 2048
ssl_dhparam /usr/local/nginx/conf/ssl/***.pem;
include rewrite/discuz.conf;
#error_page 404 /404.html;
# Deny access to PHP files in specific directory
#location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }
include enable-php-pathinfo.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /.well-known {
allow all;
}
location ~ /\.
{
deny all;
}
access_log /home/wwwlogs/***.log.log;
}
三、在阿里云控制台开启443端口
登入阿里云,进入控制台,添加安全组规则。这一步也很简单,如图所示:
查看结果
重启nginx。 (service nginx restart)
输入命令查看443端口运行情况 (netstat -ntulp |grep 443)
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 6065/nginx: master
再次访问网站:
至此,https就已经开启了。由于是第一次配置,手比较生。后续遇到问题会继续在这里更新。
网友评论