wordpress网站配置SSL https访问需要注意的几点问题

那些年在SSL上踩过的坑。

证书链的顺序问题

cat www_example_com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > ssl-bundle.crt

SSL与CDN配合的问题

在CDN控制面板里上传证书时,公钥一定是合成后的ssl-bundle.crt的内容,而不是www_example_com.crt。

以阿里云CDN为例,要设置域名回源host,并开启协议跟随回源。

几个错误提示的原因
[emerg]: SSL_CTX_use_certificate_chain_file("/etc/nginx/certs/server.crt")
failed (SSL: error:0906D066:PEM routines:PEM_read_bio:bad end line error:140DC009:SSL routines:SSL_CTX_use_certificate_chain_file:PEM lib)
configuration file /etc/nginx/conf/nginx.conf test failed

这个的意思就是server.crt读取到意外错误行,回忆一下刚才的操作,这个是Comodo提供的crt证书,然后我们使用cat将证书链合并到这个证书里的,那么问题可能就出在合并这个环节,使用vi或者nano命令打开并编辑server.crt,果然让我们找到了问题所在:

可以看到原先占用一行的标记证书的分隔符,现在连到一起了,我们需要用换行将他们分开,注意问题左右的短横线最好一样多:

好,做好后,保存这个crt文件,再次重启Nginx服务,输入申请证书时私钥的密码,SSL启用成功!

[emerg] SSL_CTX_use_PrivateKey_file("/etc/nginx/conf.d/ssl/ssl.key") failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch)
nginx: configuration file /etc/nginx/nginx.conf test failed

SL证书和SSL私钥不匹配

it has a mismatch between your key and certificate

解决方法:

重新生成SSL证书配置,或者检查下证书链的顺序是否正确。

wordpress启用SSL https访问应该启用的两个插件

ssl-insecure-content-fixer

修复mix-content警告,可以通过chrome浏览器查看网站在https模式下的mix-content警告

HTTP / HTTPS Remover

自动把http://和https://形式的链接转换为“//”

本站提供的服务

  • wordpress主题、插件、开发、优化以及WordPress虚拟主机、VPS售卖
  • 自用Shadowsocks 服务器搭建 RMB50/次
  • VPN(PPTP&L2TP)流量出售: 5RMB/GB,10GB起售,8条台湾、美国、香港线路
    • 联系QQ:2564692806

      打赏作者
      这篇文章帮助很大,重重有赏

      您的支持将鼓励我们继续创作!

      [微信] 扫描二维码打赏

      [支付宝] 扫描二维码打赏

      正在跳转到PayPal...

female geek, creator of sscloud. keyword: php, html5+css3, python, wordpress

Leave a reply:

Your email address will not be published.

Site Footer