CentOS 8操作系统Nginx(或Tengine)服务器上安装SSL证书

1、首先是下载SSL证书或者你自己生成

2、打开配置文件,比如我的是在/usr/local/nginx/config

#以下属性中,以ssl开头的属性表示与证书配置有关。
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;
#需要将cert-file-name.pem替换成已上传的证书文件的名称。
    ssl_certificate cert/cert-file-name.pem;  
#需要将cert-file-name.key替换成已上传的证书私钥文件的名称。
    ssl_certificate_key cert/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;
    }
}

3、如果您希望所有的HTTP访问自动跳转到HTTPS页面,则可以在需要跳转的HTTP站点下添加以下rewrite语句。

使用示例代码前,请注意将yourdomain.com替换成证书绑定的域名。

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

4、执行以下命令,重启Nginx服务。

cd /usr/local/nginx/sbin  #进入Nginx服务的可执行目录。
./nginx -s reload  #重新载入配置文件。

5、写在后面,如果有报错SSL_ERROR_RX_RECORD_TOO_LONG

解决方案:如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on

6、如果你想找到我,请访问二当家的

你可能感兴趣的:(运维,ssl,nginx,centos)