我必须将安全措施添加到运行Tomcat 6应用程序服务器的网站。 其中之一就是添加HTTP严格传输策略头。 我通过添加一个filter,然后将此标题添加到任何响应。 但是有一个由apache webservers服务的静态内容(在应用服务器的前面),我没有访问权限。 所以我的问题是:我必须照顾这个吗? 是否有必要返回此头与每个服务的文件(.css,.js等)? 据我了解这个头,它告诉浏览器“嘿,如果你读了这个,只通过HTTPS访问这个域只为下一个”。
HSTS适用于整个域名,所以将其设置在所有的响应中应该可以做到这一点。
不,你不必每个回应都发送标题。 在RFC中 ,第6.1.1节:
必需的“max-age”指令指定在接收到STS头字段之后的秒数,在该字段期间,UA将主机(从其收到消息的主机)视为已知的HSTS主机。
所以头文件被明确地devise用于整个域,并被caching。 为了保护没有这个头的静态资产,你必须让浏览器访问一个路由,首先发送头,然后在max-age值到期之前再次访问。