类别:网站其它 / 日期:2021-03-27 / 浏览:697 / 评论:0
目前HTTPS是大势所趋,本站也上了HTTPS,但是过程中出现了一些问题,宝塔面板默认提供了SSL管理功能,并且可以在线申请SSL证书,一键部署HTTPS比较方便,但是遗憾的是宝塔面板二级子目录无法直接开启SSL证书的问题。因为我使用的是nginx,所以打算手动开启,而且也做到了。
一、申请域名证书
1、现在大部分网站都提供域名型免费版(DV)证书申请,我就不详细介绍了。
2、申请成功后,下载nginx证书即可。[break]
二、安装证书
1、上传到宝塔,路径如www/server/panel/vhost/cert/www.myxzy.com (www.myxzy.com主域名的证书文件夹)
2、宝塔面板,网站,主域名的网站点开设置,通过手工修改配置文件来实现配置SSL证书。找到子目录的配置文件位置,一般都有#BINDING-cdn.myxzy.com-START的字样,域名换成自己的子域名,如果主域名已经开启了SSL,子域名也会直接开启。只要在配置文件root目录(root /www/wwwroot/www.myxzy.com/cdn)下面增加以下配置文件即可。
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则 ssl_certificate /www/server/panel/vhost/cert/www.myxzy.com/cdn.myxzy.com.crt; ssl_certificate_key /www/server/panel/vhost/cert/www.myxzy.com/cdn.myxzy.com.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; error_page 497 https://$host$request_uri; #SSL-END
已经去掉了强制跳转HTTPS,这边去掉是为了CDN加速,因为开启了之后可能会出问题。
增加安全性设置,可以使用以下的配置文件:
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"; #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则 ssl_certificate /www/server/panel/vhost/cert/www.myxzy.com/cdn.myxzy.com.crt; ssl_certificate_key /www/server/panel/vhost/cert/www.myxzy.com/cdn.myxzy.com.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256::!MD5; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; error_page 497 https://$host$request_uri; #SSL-END
宝塔面板保存直接生效,不用重启nginx。