给Nginx安装SSL证书

bitbit
最后编辑于 2018年12月29日 开发

我们以域名1024.com为例,介绍如何给Nginx网站服务器安装SSL证书,这里安装的是DV 证书,即域名验证证书,DV是Domain Validation。这里配置的域名是单域名,并且该域名已经解析到网站服务器。

1、获得付费或免费的SSL证书后,你会有下面这些文件,注意真实的名字会有所不同:
1024_com.crt 域名证书
1024_com.ca-bundle 各种CA证书
1024_key.key 域名证书的私钥

2、把1024_com.crt和1024_com.ca-bundle合并到一个文件中cert.crt,这个文件名cert.crt你可以自己定。合并命令行如下,注意顺序,1024_com.crt在前:
cat 1024_com.crt 1024_com.ca-bundle cert.crt

3、上传cert.crt和1024_key.key到/etc/ssl/目录下面。

4、找到配置文件nginx.conf,配置443端口。最简单的就是复制粘贴80端口的配置,然后把80改为443。一般nginx.conf位于/etc/nginx目录下面,如果没有,可以用下面的命令查找:
find / | grep nginx.conf

找到之后可以用cat查看或vi编辑:

cat nginx.conf
vi nginx.conf

配置好443端口后,还需要加上这么几行,注意把文件名字换成真实的名字。

listen 443 ssl;
ssl_certificate /etc/ssl/cert.crt;
ssl_certificate_key /etc/ssl/1024_key.key;

上面是Nginx1.15.0及以上的版本的配置,如果Nginx版本低于1.15.0,则listen 443 ssl;这一行要换成下面两行:

listen 443; 
ssl on;

Nginx1.15.0及以上的版本,如果要同时可以http和https访问,则配置如下:

listen 80;
listen 443 ssl;
ssl_certificate /etc/ssl/cert.crt;
ssl_certificate_key /etc/ssl/1024_key.key;

5、都配置完成之后,保存,然后重启Nginx:
nginx -s reload

上面的配置是单域名,没有涉及多域名或子域名的通配符,也没有涉及到http如何重定向到https。

登录注册后才能评论。