目前,我在不同的子域上运行不同的服务组合:
a.example.com: nginx代理背后的Docker容器
b.example.com: nginx网站
c.example.com: nginx代理背后的Docker容器
a和c共享相同的ipv4,b有自己的ipv4,而a、b和c都使用不同的ipv6地址。它们都是SSL安全的,由nginx (通过301)重定向到ssl安全站点的非ssl通信量。
所有这些都是通过HSTS (没有设置可选的"includeSubdomains“)来保护的。
现在,为了我的问题
这是firefox特有的问题。上面的工作完美的Chrome,Vivaldi,MS边缘(铬基)。它甚至可以和wget一起工作。我不知道是什么原因导致firefox从它的存储中抓取错误的站点。
如有任何帮助,敬请见谅。
发布于 2021-02-20 16:18:34
如果有人遇到同样的问题:这是firefox,这里有更多的细节:https://matthias.wuerfl.com/firefox-http2-ipv6-pitfall/
摘要:
对第二个主机(bar)的请求转到第一个主机(foo)。
使用HTTP/2,Firefox共享到tcp服务器的连接(“池”),通过省略握手和tcp慢启动来加快页面加载速度。Firefox不是通过查看主机名,而是通过查看IPv4 4地址和证书来确定哪些连接可以池在一起。如果第二个主机( bar )的IPv4地址( bar )与第一个主机( foo )的IPv4 4地址匹配,而用于foo的证书也与bar匹配,则对bar重用到foo的连接。
当有人连接到foo的IPv6 6入口时,可能不会将when服务器配置为显示bar的内容。对IPv6不再需要基于名称的虚拟主机(像我一样)这一事实感到高兴的were服务器管理员可能在错误的假设下配置了他们的were服务器,即如果为主机名foo发布了IPv6地址,到该主机的传入连接将转到该IP地址。
Firefox的行为是非常出乎意料的--或者根本就错了。
https://serverfault.com/questions/1054282
复制相似问题