博客启用Https加密的备忘录
给域名启用 https ,基本上各自有各自遇见的问题。搜索引擎提供了绝大多数的解决方案,搜索下 WordPress 启用https,有很多的分享方案。这里备注下自己给风向吧添加SSL证书的一些问题和解决方法。
关于使用 SSL的原因
这个其实很偶然,实话说也没什么特别的需求,只是在使用rss阅读器的时候,偶然发现风向吧的rss不能更新了,在inoreader中总是有个红色的提示,点击详细中有大量的抓起错误,所以抽空排查了2019.3月最后一篇正常输出内容的文章时间,试图查找和还原下可能自己所做的错误设置。
因为近期除了常规的WordPress更新,基本没有做过其它会影响到rss输出的设置,而本地使用的FeedDemon却可以正常的订阅,所以考虑是不是主机方面的问题,所以到主机商官网和后台尝试查找解决方案。偶然发现原来我使用的主机已经支持一键安装 SSL 证书 / https 加密,考虑按教程看比较简单,所以尝试进行申请安装,结果按照官网教程并没有解决,所以提交了工单,客服给更换新的主机节点,换了新的ip,并随后顺利的申请了SLL的免费证书。没想到,rss不能抓起更新果然是旧主机的问题,换新节点后自己就好了。考虑是不是主机屏蔽了阅读器的抓取?
WordPress整站启用https遇见的问题
主机后台申请到ssl证书,Https顺利启用后,点击https://fengxiangba.com其实已经可以访问了,不过却存在着加密链接和非加密链接都可以访问的问题,考虑到站点链接的唯一性,所以使用了301跳转,在.htaccess文件尾部添加跳转代码:
结果以上设置完毕,切换https后,WordPress使用https加密后图片无法显示的通用问题出现了。不仅仅是文章中的图片,媒体库中的图片都没法显示了。
尝试的解决方法
因为这种启用https加密后,图片等附件不能显示的问题比较常见,所以搜索引擎中可以搜索到很多前人分享的解决方法,我尝试过很多种,这里只记录在风向吧上实际用下来有效的步骤:
1:在数据库SQL中执行以下代码
UPDATE
wp_posts
SET
post_content =
REPLACE
(
post_content,
'https://fengxiangba.com',
'https://fengxiangba.com'
);
2:后台设置中,修改站点地址为 https://fengxiangba.com
3:安装Really Simple SSL插件(用了其它几个步骤没问题,也可以不使用)
4: .htaccess文件添加301跳转代码
- RewriteEngine onRewriteBase /RewriteCond %{SERVER_PORT} !^443$RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
比较特殊的问题
其实上述设置后,应该已经能够解决了图片附件不显示的问题,不过在风向吧上却不行,还是无法加载出图片来,诡异的是源码中明明看见图片地址已经顺利变更到https,不过就是不显示图片。
- <img src="https://fengxiangba.com/wp-content/uploads/2019/07/screenshot_20190719_201157_com559653484222538459.jpg" class="wp-image-18728 alignnone size-full" width="1080" height="1920" srcset="https://fengxiangba.com/wp-content/uploads/2019/07/screenshot_20190719_201157_com559653484222538459.jpg
而且,直接点击图片链接,不能显示图片,而地址栏回车访问却能够显示,简直莫名其妙,完全没有头绪。最终停用所有插件,更换默认主题后仍然无法解决。再次提交工单后,在客服的提醒下清空了伪静态规则,重新设置为:
- # BEGIN WordPress
- <IfModule mod_rewrite.c>
- RewriteEngine On
- RewriteBase /
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteRule . /index.php [L]
- </IfModule>
- # END WordPress
- RewriteEngine on
- RewriteBase /
- RewriteCond %{SERVER_PORT} !^443$
- RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
以上设置后,目测终于解决问题了,看见地址栏的小绿锁了,附件图片也正常显示了,不过丢失了少量文章,好在rss里面找回了一些~~
1 条留言 访客:0 条 博主:0 条 引用: 1 条
来自外部的引用: 1 条