我有一个网页,通过 Tomcat 的 https 提供服务,根据示例使用 serviceworker 获取资源并将其存储在缓存中。如果 Tomcat 未运行,则从缓存存储提供页面 - 到目前为止一切顺利。
我的 Tomcat 配置包含将 http 重定向到 https 的 redirectPort 属性。我遇到的问题:当Tomcat没有运行并且通过http访问我的网页时,浏览器显示:连接被拒绝,因为http 302重定向未存储在缓存中。我怎么能做到这一点?
问问题
63 次
1 回答
1
不幸的是,服务人员需要 https 来保证安全,因此您不能让服务人员拦截 http 请求。
如果您想强制浏览器以 https 访问您的页面,您可以启用 HSTS:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security
可以在浏览器中预加载 HSTS 列表,使其可以脱机工作。但是请注意,启用 HSTS 时需要小心,因为如果您犯了一个错误,可能很难纠正。
或者,除非用户明确键入 http,否则浏览器会慢慢地默认加载 https。例如:
https://blog.chromium.org/2021/03/a-safer-default-for-navigation-https.html
于 2021-04-26T18:19:53.910 回答