Nginx配置SSL证书实现HTTPS访问

本文记录了Nginx设置SSL证书的过程,以实现只能HTTPS访问的目的

前言

服务器操作系统:CentOS 7.2 64bit
本文是 https://www.gaoyuanqi.cn/hexo-tenxunyun/ 的延伸

注:nginx需安装ssl模块,若没有安装就不要浪费时间添加ssl模块了,重新安装nginx,执行配置文件时带上参数

1
./configure --prefix=/usr/local/nginx --with-http_ssl_module

SSL证书下载

以腾讯云为例,申请SSL证书时的域名要加上 www

1
www.gaoyuanqi.cn

申请通过后依次点击 SSL证书 > 我的证书 > 下载相应SSL证书(选择Nginx)
解压后找到以下两个文件(.crt.key):
21

使用 filezilla 将两个文件上传到服务器,我的存放在 /usr/local/nginx/zs 目录下, zs 是新建目录

SSL证书配置

记得在 安全组 开放 443 端口

nginx.conf

打开 nginx.conf 配置文件,我的在 /usr/local/nginx/conf 目录下:

1
vim /usr/local/nginx/conf/nginx.conf

i 键由命令模式切换到编辑模式:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
http{
server{
listen 443 ssl default_server;
server_name www.gaoyuanqi.cn; # 域名

#ssl证书存放路径
ssl_certificate /usr/local/nginx/zs/1_www.gaoyuanqi.cn_bundle.crt;
ssl_certificate_key /usr/local/nginx/zs/2_www.gaoyuanqi.cn.key;

# ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;

ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!ADH:!EXPORT56:RC4+RSA:+MEDIUM;
ssl_prefer_server_ciphers on;

location / {
root /home/www/hexo; #网站部署根目录
index index.html index.htm;
}
}
}

esc 然后输入 :wq 保存退出

  • server_name:网站域名
  • ssl_certificate:SSL证书存放路径
  • ssl_certificate_key:SSL证书存放路径
  • root:网站部署目录

重启Nginx

1
2
3
cd /usr/local/nginx/sbin
./nginx #重启nginx
./nginx -s reload #重新加载配置文件