Nginx报错“The plain HTTP request was sent to HTTPS port

记录一次解决 证书过期导致 400 Bad Request

# //获取脚本
wget -O - https://get.acme.sh | sh

#自动配置, 无法成功时 至少在 /root/.acme.sh/ 生成对应的 .key 和 .csr 文件
/root/.acme.sh/acme.sh —issue -d kefu.xiaochiai.com -d www.kefu.xiaochiai.com —nginx

  1. <br />_# 手动生成 pem 文件_<br />openssl x509 -req -days 3650 -in kefu.xiaochiai.com.csr -signkey kefu.xiaochiai.com.key -out kefu.xiaochiai.com.pem

将 key 和 pem 放到对应位置,并在 nginx.conf 中配置 之后重启nginx

nginx.conf 部分配置

  server {
            listen 443 ssl;   #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
            server_name kefu.xiaochiai.com;  #将localhost修改为您证书绑定的域名,例如:www.example.com。
            ssl on;

            ssl_certificate /etc/nginx/conf.ssl/kefu.xiaochiai.com.pem;   #将domain name.pem替换成您证书的文件名。
            ssl_certificate_key /etc/nginx/conf.ssl/kefu.xiaochiai.com.key;   #将domain 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;   #使用该协议进行配置。
            ssl_prefer_server_ciphers on;