0%

nginx服务器配置ssl

这里暂只讲解nginx配置ssl过程,如何获取ssl证书请自行百度

拷贝证书文件

将获取到的两个文件(.pem和.key)拷贝到服务器上
建议在网站根目录新建一个名为cert的目录来存放证书文件

更改nginx配置文件

找到nginx配置文件nginx.conf,不同主机可能路径不一致,我的是在/etc/nginx下

1
2
cd /etc/nginx
vi nginx.conf

在http{ }里面添加如下内容(有的文件里有此内容,默认是注释掉的,根据需要取消注释):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name www.xxxxxx.xxx; #证书绑定的域名
root xxxxxxxx; #网站根目录路径,根据自己的网站位置进行修改

ssl_certificate "xxxxx.pem"; #这里替换为cert目录里的.pem文件,注意路径的使用
ssl_certificate_key "xxxxxx.key"; #这里替换为cert目录里的.key文件,注意路径的使用
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5; #加密套件类型
ssl_prefer_server_ciphers on;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #TSL协议类型
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf; #这里无需修改
# 以下内容为非必选项
error_page 404 /404.html;
location = /40x.html {
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
#注意大括号一定要一一对应,否则可能会无法启用nginx服务

HTTP重定向(可选)

该设置可以使HTTP请求自动跳转HTTPS
在nginx.conf文件里找到

1
2
3
4
server{
listen 80;
....
}

修改server_name,同上
再加入如下内容:

1
rewrite ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。

重启nginx服务

方法1.进入nginx的可执行目录

通过nginx可执行文件重新加载配置文件

1
2
cd /usr/local/nginx/sbin  #进入Nginx服务的可执行目录。
./nginx -s reload #重新载入配置文件。

方法2.使用系统重启命令

1
systemctl restart nginx.service

验证是否成功

在浏览器输 https://你的域名 ,如图位置出现一把锁的图案便大功告成

配置成功示例图

如果觉得对你有用的话,不妨支持一下