回退http被Chrome拒绝了?
长话短说,今天想试图把wordpress用certbot-nginx直接升到https。
开始一切顺利,站点前台展示基本正常,Chrome继续说“不安全”,理由是图片资源没有走https。登后台发现编辑器无法加载文章,vm上php-fpm的cpu占用时而飙高。
就我这脾气来说,如果是工作项目,一则是测试环境上起码测过一轮再上生产,二则遇山开路逢水搭桥,毕竟靠逻辑吃饭的人。但就这么一块自留地而言,纯赔钱的货,投恁多精力不值当。何况wordpress这种退休返聘的blog engine,再撑几年还得看心情。于是把准备好的vm snapshot做回滚(QA习惯),零风险,服务起来后一切如初(443端口不监听不服务)。
这时候Chrome开始扯淡了,坚持访问443,地址栏强输http就不给过。Safari则没这么轴,指哪打哪。找台别的机器Chrome也没这毛病,所以确定是Chrome本地留了记录,对本站域名(fisherworks.cn)坚持不走80端口。
于是开始找解决方案,什么“https 重定向 http”,结果你们懂的,都是反的,所有博文都是http request强制301到https嘛,这才是大势所趋,何况教程文向来天下一抄。
怎么说呢,尽管是中国人讲普通话,但效率起见,技术搜索用英语搜,通常省钱省时间——关键字“force chrome to open http instead of https”,有效的返回只要一条就够。搜索结果就不截了,点进这个链接,看了顶赞答案621 upvote,心放下一半。
How to stop an automatic redirect from “http://” to “https://” in Chrome
做法很简单,打开 chrome://net-internals/#hsts 找到最底部 Delete domain security policies,输入需要回退http访问的域名,提交一下;出门清理cookie和cache,搞定收工。
对浏览器行家而言,可能分分钟。对我来说,一文钱难倒英雄汉。
这么说吧,stackoverflow,stackexchange,superuser,askubuntu,不要指望这些专业问答站给你任何架构意识,或从零开始搭建服务or提升能力的建议。但术业有专攻,解决这种掐脖子的一文钱问题,可谓无出其右,外科手术式精准打击。
文章的脚注信息由WordPress的wp-posturl插件自动生成