证书安装前准备:
1、下载好已经签发的SSL证书
2、将SSL证书文件上传到服务器上
3、证书文件以22cn.crt、中间证书以22cn_chain.crt、私钥以22cn.key命名为例
安装步骤
1、将已获取到的SSL证书文件上传到 Nginx 服务器的 /etc/nginx 目录(此处为 Nginx 默认安装目录,请根据实际情况操作)。
由于版本问题,配置文件可能存在不同的写法。例如:Nginx 版本为 nginx/1.15.0 以上请使用 listen 443 ssl 代替 listen 443 和 ssl on。
证书名称以22cn为例,nginx.conf文件的修改内容如下:
server {
#SSL 默认访问端口号为 443
listen 443 ssl;
#请填写绑定证书的域名
server_name 22cn;
#请填写证书文件的相对路径或绝对路径
ssl_certificate 22cn_chain.crt;
#请填写私钥文件的相对路径或绝对路径
ssl_certificate_key 22cn.key;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on;
location / {
#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
#例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
root html; index index.html index.htm;
}
}
3、通过执行以下命令验证配置文件问题。
nginx -t
4、通过执行以下命令重载 Nginx。
nginx -s reload
5、重载成功,即可使用https://您的域名 进行访问。
自动跳转https的安全配置
如果需要将 HTTP 请求自动重定向到 HTTPS。请按照如下操作:
1、 根据实际需求,选择以下配置方式:
Nginx 支持 rewrite 功能。若您在编译时没有去掉 pcre,您可在 HTTP 的 server 中增加
return 301 https://$host$request_uri;
即可将默认80端口的请求重定向为 HTTPS。
修改如下内容:
由于版本问题,配置文件可能存在不同的写法。例如:Nginx 版本为 nginx/1.15.0 以上请使用 listen 443 ssl 代替 listen 443 和 ssl on。
server { #SSL 默认访问端口号为 443
listen 443 ssl;
#请填写绑定证书的域名
server_name 22cn;
#请填写证书文件的相对路径或绝对路径
ssl_certificate 22cn_chain.crt;
#请填写私钥文件的相对路径或绝对路径
ssl_certificate_key 22cn.key;
ssl_session_timeout 5m;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
location / {
#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
#例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
root html;
index index.html index.htm;
}
}
server {
listen 80;
#请填写绑定证书的域名
server_name 22cn;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}
2、通过执行以下命令验证配置文件问题。
nginx -t
3、通过执行以下命令重载 Nginx。
nginx -s reload