个人博客:alvincr.com。此文链接:https://alvincr.com/2021/01/can-not-login-in-backstage/
1 背景
1 现象描述
开启CDN加速后能够正常访问网站内容,但是当进入后台时会出现连接已重置。
2 产生原因
上述现象是由于CDN服务器使用缓存造成的,
以下内容纯粹是alvin的个人理解,如有错误请斧正:
使用CDN加速后,DNS将解析到CDN加速的服务商那里,返回的数据是CDN服务器缓存的个人站点的静态内容,但是无法缓存后台内容(也没必要同时也不安全,因为你修改缓存的后台数据没意义,不会保存到你的网站上),同时后台链接也被CDN服务商所更改,导致无法正常访问后台,
3 简单测试
在进行下一步之前,先判断一下是否是有cookie导致的此类问题,方法很简单,谷歌浏览器只需要打开无痕模式,火狐打开隐私模式再次访问站点即可。
如下图所示:打开无痕模式将禁用所有插件和cookie等本地信息,缓存当然也被禁用了。
图片转存失败
2 解决方法
进行这一步之前务必完成上文中的简单测试部分。
1 通用方法
当开启CDN加速后无法进入后台,
如果遇到了开启CDN后wordpress后台打不开的情况,直接禁止缓存/wp-admin文件夹即可。
2 个人方法
我个人解决方法我并不完全清楚,通用方法,因为我站点出现的并不是这一个问题,还有其它几个问题:重定向次数过多,403forbidden,等等一系列错误,因此当我清理缓存、重置CDN加速、重设CDN参数、重获取SSL证书后,这个问题也就顺带解决了,这个问题只是我在解决重定向次数过多过程中产生的子问题。所以我并不能保证用哪个方法一定能够解决此问题。但是基本上与CDN和缓存脱不了关系,只需要朝着这个方向努力即可。
3 其它方法
由于我的问题已经解决,所以无法再进行其它测试了,下面是我找到的教程很简略的解决方法,
方法1:汇总
对此方法我保持怀疑的态度,因为删除或添加某些东西很容易出现异常。在进行下面操作的时候记得备份,尤其是进行4号、9号操作。个人认为应该不会出现8号的问题,6号、7号基本无效。(请看2021.1.12补充)
转载自:https://www.maguang.net/archives/5829
4、 修改 WordPress 目录下的 wp-config 文件,或者删除重新生成。
加上如下代码:
$home = ‘http://’.$_SERVER[‘HTTP_HOST’]; //
博客首页 $wpurl = ‘http://’.$_SERVER[‘HTTP_HOST’]; //
WP程序的路径 define(’WP_HOME’, $home);define(’WP_SITEURL’, $wpurl);。6、 使用地址:域名 /wp-admin/index.php 登录后台。
7、 打开 phpMyAdmin,点开 options,看到自己的 siteurl,值为 http://www.xxx.com/WordPress ,把 www 删掉,再回到 WordPress 的登陆页面,输入用户名和密码。
8、 把主题文件夹里的functions.php中<?php …… ?>之前和之后的空格或者多出的空行删除
根目录下的wp-config.php中的<?php …… ?>之前和之后的空格删除
wp-includes/user.php中的<?php …… ?>之前和之后的空格删除
9、 删除wp-content/plugins文件夹(意思就是揪出BUG是否产生于WORDPRESS插件)
方法1(2021.1.12补充)
对于这些方法我找到了别人尝试的结果,方法1的方法都显示无效(https://wordpress.org/support/topic/the-connection-was-reset-12/)
I’ve spent time searching for solutions, to no avail. The following is what I’ve tried so far:
– I’ve cleared the cache/cookies/history
– disabled plugins
– disabled theme (although I didn’t have any other themes installed for it to revert to)
– removed .htaccess file
– added a new user to the database
– updated the site URL by adding the following lines into the wp-config.php file (using the name of my site instead of “example.com”) — define(‘WP_HOME’,’http://example.com’);
define(‘WP_SITEURL’,’http://example.com’);
方法2:补充
来自wordpress社区对话,内容久远,主要是两个方面的可能性:1是adsblock,2是WP后台杀毒软件