我正在尝试将 nginx 配置为运行 Apache + Wordpress 的网站的反向代理(缓存),并配置为将所有 HTTP 流量重定向到 HTTPS。为此,我尝试禁用 Apache/Wordpress(原始服务器)中的 HTTPS 重定向。
更别提 Nginx,原始服务器(Apache)的工作副本位于http://test.assodigitale.it:14580以下是我目前所做的:
- 从虚拟主机中删除了“重定向 301 https://...”
- 删除了 .htaccess
- 禁用所有 WP 插件
- 替换数据库中所有
https://test.assodigitale
出现的http://test.assodigitale
,包括序列化的 Wordpress 字符串 - 已禁用 mod_http2
Protocols h2 h2c http/1.1
从 apache 配置中注释掉- 检查没有高速传输系统配置已到位
然而,我得到的只是服务器仅回复纯 HTTP,但浏览器仍然重定向到 HTTPS,这导致了您在单击时看到的明显的 SSL 错误上面的链接。
我忽略了一些东西,但我不明白是什么,而且我不知道如何跟踪浏览器和服务器之间的通信以确定有问题的配置。你能帮忙吗?
评论后编辑:
我使用 Apache 是因为我需要它的原因超出了这个问题的范围。我知道我可以只用 nginx 做所有事情,但在考虑问题时请忽略 nginx。我把它包含在我的问题中只是为了提供一个上下文,但无论 nginx 是什么,问题都存在。是 Apache 监听端口 14580,是 Apache 或它重定向浏览器之后的其他程序,而不是位于 Apache 之前的 nginx,顺便说一句,它目前甚至没有监听端口 80(因此,当连接到端口 80 时,连接被拒绝,正如报告的那样马迪迪)。
然而马迪迪报告还称服务器将他的浏览器重定向到端口 80,而我的情况是被重定向到端口 443,这让我很疑惑服务器怎么会向我和他发出不同的重定向...
答案1
正如戴夫·汤普森在评论中,问题在于 HSTS 过去处于活跃状态。
我不记得我是如何解决这个问题的,但这就是问题的原因。