Linux系统申请并配置Nginx的SSL证书(Sectigo SSL证书)
一、申请证书
1.安装并使用openssl生成.csr文件和.key文件。
2.生成的.csr文件用来提交给SSL代理商申请SSL证书。
3.生成的.key文件保存好,用以之后的Nginx的SSL配置。
二、安装证书
A.安装前的准备:签发证书,合并数字证书。
一旦申请的SSL证书成功颁发,签发机构会通过附件将数字证书发送到您的邮箱。附件包含4个证书文件,您需要按照1-2-3-4顺序将文件内容拷贝到一个文本文件,然后保存为.crt文件(本例合成为bundle-ssl.crt)。
合成如下图所示的文件bundle-ssl.crt
B.安装数字证书
1.使用Linux命令行定位到Nginx的conf文件夹下(下列命令行代码仅为样例,实际路径根据你的linux系统调整)
cd /www/server/nginx/conf
2.在conf目录下创建cert文件夹来存放之前openssl生成的.key文件
mkdir cert
3.将.key文件和bundle-ssl.crt文件上传到新创建的cert文件夹下(可以使用XShell、宝塔面板或者其他工具的文件上传功能),下图为宝塔面板上传两个文件完成的样例。
4.使用命令行定位或者其他工具编辑Nginx的conf文件夹下的nginx.conf文件。
5.新建server块或者将原来已经写好的端口(例如:listen 80)的server改为如下代码(示例代码):
server{
listen 443 ssl;
server_name www.aaa.cn;#替换成你自己的和SSL证书绑定的域名
ssl_certificate cert/ssl-bundle.crt; #已上传的证书文件的名称。
ssl_certificate_key cert/privkey.key; #已上传的证书私钥文件的名称。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。
ssl_prefer_server_ciphers on;
listen 80 default_server;
server_name _;
#前端页面
location / {
#dist文件目录
root /home/project/xxxxxx/;
try_files $uri $uri/ /index.html;
index index.jsp index.html index.htm;
}
}
6.编辑保存好之后,重启Nginx即可。