0

我有一个网页,通过 Tomcat 的 https 提供服务,根据示例使用 serviceworker 获取资源并将其存储在缓存中。如果 Tomcat 未运行,则从缓存存储提供页面 - 到目前为止一切顺利。
我的 Tomcat 配置包含将 http 重定向到 https 的 redirectPort 属性。我遇到的问题:当Tomcat没有运行并且通过http访问我的网页时,浏览器显示:连接被拒绝,因为http 302重定向未存储在缓存中。我怎么能做到这一点?

4

1 回答 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 回答