TP-Link Archer C2 V1固件升级后无法访问管理页面求助
兄弟我太懂你刷完固件后登不上管理页的崩溃感了!结合你描述的情况——浏览器被强制跳HTTPS但路由器根本没开这个服务,curl能拿到页面但浏览器不行——给你几个亲测有效的解决思路,一步步来:
1. 手动强制指定HTTP访问,别让浏览器自动跳转
直接在浏览器地址栏完整输入 http://192.168.0.1,一定要写全http://,别让浏览器自动补成https://。如果还是不行,试试加上默认管理端口:http://192.168.0.1:80,说不定固件升级后把HTTPS的端口开了,但HTTP服务还在80端口运行。
2. 清除浏览器对这个IP的HTTPS强制缓存(HSTS)
很多浏览器会记住某个域名/IP的HTTPS跳转规则,哪怕路由器已经不支持了也会硬跳。以Chrome为例:
- 地址栏输入
chrome://net-internals/#hsts - 拉到“Delete domain security policies”区域,输入
192.168.0.1,点击「Delete」 - 重启浏览器再试
Firefox的话可以打开about:config,找到network.stricttransportsecurity.preloadlist改成false,或者清除对应IP的HSTS缓存(具体路径是设置→隐私与安全→清除数据→勾选“网站设置”)。
3. 用无痕模式/另一台设备试试
浏览器的普通模式会缓存各种跳转规则,无痕模式下没有这些缓存,大概率能正常加载HTTP的管理页。如果身边有手机/平板,直接连路由器的WiFi(或者插网线),用自带浏览器访问http://192.168.0.1,说不定就能进去了。
4. 实在不行,用curl模拟登录(进阶操作)
既然你能用curl拿到登录页面,那可以手动用curl提交登录请求:
# 先把登录页面存到本地 curl http://192.168.0.1/login.htm > login.html # 提取页面里的登录token(不同固件可能字段名不一样,自己看login.html里的表单) TOKEN=$(grep -o 'name="token" value="[^"]*"' login.html | cut -d '"' -f 4) # 提交登录请求,替换成你的路由器用户名和密码 curl -d "username=你的用户名&password=你的密码&token=$TOKEN" http://192.168.0.1/login.cgi
登录成功后,你可以用curl继续修改路由器设置,比如把HTTPS跳转关掉,或者改回WDS配置。
5. 终极方案:刷回旧固件
如果最新固件确实有bug,那刷回之前能用的版本是最稳妥的。先彻底重置路由器:按住reset键10-15秒,直到指示灯快速闪烁,然后用TFTP救砖法刷旧固件:
- 把电脑设成静态IP:比如
192.168.0.100,子网掩码255.255.255.0 - 用网线把电脑和路由器的LAN口连起来
- 打开TFTP工具(比如tftp32),选择旧固件文件,目标IP填
192.168.0.1 - 给路由器通电,同时按住reset键,等指示灯开始闪烁时点击TFTP工具的「发送」,等进度条走完就搞定了
另外提一句:你看到的那段JS代码其实是框架页的刷新逻辑,不是导致HTTPS跳转的原因,真正的问题是路由器返回的响应头里有Location: https://192.168.0.1/,说明固件升级后强制开启了HTTPS跳转,但又没配置好HTTPS服务,才导致浏览器连不上。
备注:内容来源于stack exchange,提问作者BlueMonkMN




