• 任何问题、想要吐槽都可以在文章下方评论哦!
  • 点击广告支持小站生存/抱拳/抱拳

修复NextCloud启用CloudFlare后出现的HTTP的请求头安全提示

建站相关 迷你 10个月前 (12-09) 503次浏览 0个评论 扫描二维码
文章目录[隐藏]

很久之前维护了一下一台服务器上的NextCloud网盘程序,做了一下升级(真的是很久之前的事,不过一直忘记写记录了……),更新到了16.0。

升级之后在NextCloud的后台能看到一个关于HTTP的提示。提示的信息是:HTTP的请求头”Strict-Transport-Security”未设置为至少”15552000”秒。为了提高安全性,建议参照security tips中的说明启用HSTS。

错误提示如下图

添加头部信息

这个问题在刚安装好NextCloud的时候还是挺常见的,解决方法也不难,参考官方的文档,在HTTP头部加入一项定义即可。

Apache环境可以直接修改网站根目录下的“.htaccess”文件。而这个网站是部署在一台VPS中,使用的是Oneinstack集成包,Nginx环境。所以要修改站点的配置文件(和伪静态规则是同一个文件)。

Nginx的站点配置文件一般是在“/usr/local/nginx/conf/vhost”目录下,文件名是该站点的网址,扩展名为.conf。

在适当的位置加入如下语句即可,一般是插入在伪静态规则(location行)的前面,如下图

最后重新加载Nginx规则即可生效。Oneinstack集成包用的命令是“service nginx reload”,LNMP继承包用的命令是“lnmp nginx reload”

一般来说这样已经解决了问题,NextCloud也不会报提示了。

但是这次的问题还没完。进入NextCloud的后台,还是能看到这个安全提示,而且从Chrome按F12打开检查器看HTTPS的头部,Strict-Transport-Security的max-age这一项与Nginx配置中指定的值不同。

这样问题就比较奇怪了,配置里明明已经加入了这行定义,为什么和浏览器读取到的不一样?反复研究了一会,想到这个站点是使用CloudFlare作为开启了CDN的,会不会是CDN修改了一些页面传输的头部?最后发现,确实是CloudFlare覆盖了Nginx定义的一些头部信息。问题找出来了,那在CloudFlare的设置中修改好相关的地方,就能解决NextCloud的这行报错了。

修改配置CloudFlare(CDN)

登录CloudFlare,进到站点的Crypto页面中

下拉找到HSTS,这一块是关于HTTP(S)安全传输方面的,点击右侧的“Change HSTS Settings”

打开的时候,页面会提示:配置HSTS一定要启用HTTPS(SSL),以及一些其他的注意事项

读完勾选下方的“I understand”,然后点击“Next”下一步

 

在Configure分页中,就能看到max-age这一项了,改成“6 months(Recommended)”。15552000秒等同于6个月,所以这里选择6个月以上也是行的。

另外如果上面的“Enable HSTS”没有开启,也要改成ON。

改好之后保存CloudFlare设置,回到NextCloud的后台,安全提示已经消失了,问题解决


除特别注明外,本站内容皆为 咸鱼先锋 原创,可自由引用,但请注明来源和链接。
https://xyuxf.com/archives/1762 - 修复NextCloud启用CloudFlare后出现的HTTP的请求头安全提示
欢迎关注 咸鱼先锋 (微信号公众号:xyuxf),获取最新资讯
喜欢 (0)
[[email protected]]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址