在CentOS 8 Nginx服务器上安装SSL证书

在我们购买ssl证书后,将已签发的证书下载并上传到Nginx 服务器上。

假设:
证书文件为 cert-file-name.pem。
证书密钥文件为 cert-file-name.key。

PEM格式的证书文件是采用Base64编码的文本文件,您可以根据需要将证书文件修改成其他格式。

在Nginx安装目录(默认为/usr/local/nginx/conf)下创建一个用于存放证书的目录(命名为cert)

cd /usr/local/nginx/conf   
mkdir cert  #创建证书目录 

将证书移动到证书目录

mv /root/cert-file-name.pem cert/
mv /root/cert-file-name.key cert/

编辑Nginx配置文件(nginx.conf),修改与证书相关的配置内容。

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

配置参考

server {
    listen 443 ssl;
    #配置HTTPS的默认访问端口为443。
    #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
    #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
    server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。
    root html;
    index index.html index.htm;
    ssl_certificate cert/cert-file-name.pem;  #需要将cert-file-name.pem替换成已上传的证书文件的名称。
    ssl_certificate_key cert/cert-file-name.key; #需要将cert-file-name.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;
    location/{
        root html;  #站点目录。
        index index.html index.htm;
    }
}

设置HTTP请求自动跳转HTTPS。

server {
    listen 80;
    server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。
    rewrite ^(.*)$https://$host; #将所有HTTP请求通过rewrite指令重定向到HTTPS。
    location/{
        index index.html index.htm;
    }
}

重启或者重新加载

service nginx restart

# 或者

cd /usr/local/nginx/sbin  #进入Nginx服务的可执行目录。
./nginx -s reload  #重新载入配置文件。
日期:2020-07-07 20:57:18 来源:oir作者:oir