报错内容
您的实例上的某些标头设置不正确 – 未设置 Strict-Transport-Security HTTP 标头(应至少为 15552000 秒)。为了增强安全性,建议启用 HSTS。
解决它
我使用的是nextcloud官方指引中提到的Nginx 配置文件,找到 # HSTS settings 部分,并确保如下行没有被注释:
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always; 最终调整为 add_header Strict-Transport-Security "max-age=15768000; includeSubDomains" always;
HSTS 强烈依赖于域名,并且 preload 选项要求你的域名支持 HTTPS。在这种情况下,通过 IP 地址访问时无法享受 HSTS 的完全功能,因为大多数浏览器不会将 HSTS 策略应用于 IP 地址。
如果你使用的是 IP 地址,浏览器不会将其添加到 HSTS 强制列表中,即使你启用了 HSTS,浏览器仍然会允许通过 HTTP 访问此 IP 地址。
如果你仍然希望使用 HSTS,至少可以启用它,虽然 preload 不适用于 IP 地址。你只需要确保你的服务器支持 HTTPS。