我们在我们的网站上放置了一些错误的http标题,这些标题在我们的一些子域名上创build了一些问题。 解决这个错误是非常困难的,因为我们发送的头文件长时间有效(182,5天(!)),所以我们不能要求每个用户重置整个浏览器caching。
是否有可能设置nginx虚拟主机强制覆盖每个旧的HTTP头? 所以如果用户再次访问主站点,他会得到新的正确的标题?
我们发送的标题:
add_header Strict-Transport-Security "max-age=15768000; preload;"; add_header X-Content-Type-Options nosniff; add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header X-Robots-Tag none;
这不是服务器端的问题。 这就是Strict-Transport-Security的工作原理,如果没有的话,那将是没有用的 – 浏览器会记住这个设置,一旦访问者看到它们,你就什么也做不了。 解决的方法是非常小心,除非你真的这么做,否则不要设置这个标题。
也就是说,有一个简单的解决方法:通过SSL提供服务,并且不再是一个问题。