原文网址:Nginx--安装SSL证书(支持https)的方法_IT利刃出鞘的博客-CSDN博客
简介
本文介绍Nginx如何安装SSL证书。
1.上传证书
1.在Nginx的配置文件目录下创建存放证书的目录
cd /etc/nginx/ #进入Nginx默认配置文件目录。请根据实际配置调整。
mkdir cert #创建证书目录
2.上传整数
将证书文件(xxx.pem)和私钥文件(xxx.key)上传到Nginx服务器的证书目录(本处是/etc/nginx/cert)。
2.修改nginx.conf配置
编辑Nginx配置文件nginx.conf,修改与证书相关的配置。
我的配置文件是:/etc/nginx/nginx.conf
vim /usr/local/nginx/conf/nginx.conf
在nginx.conf中找到server属性配置,改为如下内容:
events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;# 在这里配置HTTPSserver {#HTTPS的默认访问端口443。#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。listen 443 ssl;#填写证书绑定的域名server_name <yourdomain>;#证书文件名称ssl_certificate cert/xxx.pem;#证书私钥文件名称ssl_certificate_key cert/xxx.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;#默认加密套件ssl_ciphers HIGH:!aNULL:!MD5;#自定义设置使用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否需要配置)#TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差。#ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;#ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;#表示优先使用服务端加密套件。默认开启ssl_prefer_server_ciphers on;location / {root html;index index.html index.htm;}}
}
3.设置HTTP请求自动跳转HTTPS(非必须)
如果您希望所有的HTTP访问自动跳转到HTTPS页面,则可以在需要跳转的HTTP站点下添加重定向
语句。
重要
以下代码片段需要放置在nginx.conf文件中server {}代码段后面,即设置HTTP请求自动跳转HTTPS后,nginx.conf文件中会存在两个server {}代码段。
server {listen 80;#填写证书绑定的域名server_name <yourdomain>;#将所有HTTP请求重定向到HTTPS。return 301 https://$server_name$request_uri;
}
执行以下命令,重新载入配置文件。
nginx -s reload
4.验证SSL证书是否安装成功
证书安装完成后,您可通过访问证书的绑定域名验证该证书是否安装成功。
https://yourdomain #需要将yourdomain替换成证书绑定的域名。