给自己的网站上传SSL证书——letsencrypt证书与TrustAsia DV SSL CA证书

letsencrypt证书

一开始我的网站是安装了WDCP面板的WordPress的个人博客,直接登录进入服务器后台的WDCP面板,找到我之前用这个面板创建的站点列表,最开始的SSL处显示为“否”,为未启用SSL的状态。

点击“SSL”一栏即可修改SSL的状态,可以选择不启用、启用、强制启用。

刚开始,因为此前均没有启用过SSL证书,因此点击“创建lets证书并启用”,然后WDCP面板就自动完成了HTTP转HTTPS,此时再打开网站已经为HTTS了。

十分简单粗暴……

接着,就出现问题了,这么简单粗暴转成HTTPS后,原先在WordPress上发表的文章均发生了排版的错乱,搜索了一下资料,得知是因为在HTTP与HTTPS中的CSS的多媒体素材的链接的格式不同(当然也可能是挂有HTTP的外链),总之就是不受信任被Chrome浏览器给拦截了。当然也可以去手动点击显示受拦截的素材,不过你就会看到HTTPS就变红色还被划了斜线,完全不是我想要的结果。

解决办法:

需要先给WordPress网站目录下的wp-config.php的开头添加三行代码,启用SSL,我就直接在WDCP面板中的文件管理里粘贴进去就OK了:

$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

再接着,进入WordPress的仪表盘的“设置”—“常规”中修改“WordPress地址”和“站点地址”的URL,由HTTP改为HTTPS。

注意:如果先修改了Word Press的URL,而还没对wp-config.php进行修改的话,会打不开WordPress的仪表盘,极其惊悚吓人。

修改好之后的网站排版正常,但是HTTPS不是好看的绿色,而是灰色的,点开看,显示“并非完全安全”,估计是我之前的图片素材的链接还是HTTP的缘故,应该是可以用命令语句全部替换成HTTPS的,这个之后再弄,加上letsencrypt证书有效期只有3个月,还需要在去考虑到期自动续期的功能(不然就需要定期去再申请一遍了),letsencrypt证书就这样先告一段落了。

TrustAsia DV SSL CA证书

加上我这个服务器是在腾讯云买的,恰好还发现腾讯云可以免费申请1年的TrustAsia DV SSL CA证书,心里一想这个可以不需要每隔3个月就去再申请一次证书,就也申请了一个试试,腾讯云网站后台和小程序都可以申请(审批要等1个小时不到吧)。
下载证书到本地,解压分别得到Apache、IIS、Nginx、Tomcat 4个的证书文件夹,因为我的网站是基于Nginx搭建的,根据腾讯云的证书安装指引

再回到刚才的WDCP面板中的“SSL证书管理”,看看它把我的证书放去哪个文件夹了,同理上传腾讯云申请来的TrustAsia DV SSL CA证书到相同的文件夹:

接着要对nginx.conf进行修改,WDCP中的Nginx的根目录一开始并不确定位置,可以在WDCP面板的“文件管理”里点击“nginx配置”,找到www.domain.com.conf的文件进行修改。

打开可以发现原来之前WDCP面板自动申请创建letsencrypt证书时,就已经修改过这个配置文件了,因此我们以已经配置好的代码为基准,对比证书安装指引,观察需要修改的配置,进行小幅度的修改,最终得到以下配置:

server {
        listen       443;
        root /www/web/www.domain.com/public_html;
        ssl                  on;
        ssl_certificate      cert/1_www.domain.com_bundle.crt;
        ssl_certificate_key  cert/2_www.domain.com.key;
        ssl_prefer_server_ciphers on;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        server_name domain.com www.domain.com;
        index index.php;
        error_page  400 /errpage/400.html;
        error_page  403 /errpage/403.html;
        error_page  404 /errpage/404.html;
        error_page  503 /errpage/503.html;
        location ~ \.php$ {
                proxy_pass http://127.0.0.1:88;
                include naproxy.conf;
        }
        location ~ /\.ht {
	            deny  all;
	    }
        location / {
                try_files $uri @apache;
        }
        location @apache {
                 internal;
                 proxy_pass http://127.0.0.1:88;
                 include naproxy.conf;
        }
        error_log  /www/weblogs/www.domain.com_errors.log;
}

注意:因为原来也申请了letsencrypt证书,因此,在nginx.conf中可以存在两段server{ }代码块,但是并不会起到双证书的效果,只会从上到下匹配,网站打开只会显示一个证书。……至于双证书的配置……再说吧……

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值