微信关注,获取更多

NextCloud升级到15.0.2后的安全警告设置

Nextcloud升级到15.0.2后出现了新的安全设置警告,经过一番折腾终于把所有的关于nextcloud新版本的安全及设置警告逐个排除掉了。

先说说关于Nextcloud的升级问题。升级简直惨不忍睹,根本无法通过后台更新通道升级。与其说下载超时不如说是根本就下载不了新版本Nextcloud的压缩包。更新中断后还要去数据存放目录删除.step文件,否则错误出现后再次打开更新器进入在线更新升级页面会出现:

Step 4 is currently in process. Please reload this page later.

怎么办呢?
进去你的数据存放目录会有一个升级文件夹的目录类似:updater-xxxxxx进去这个目录里面 如下图有一个.step文件,删除后就可以了。

下图:升级过程中的错误

下图:删除图中的.step文件后才可以再次操作升级,否则出现错误。

删除图中的.step文件

你可以再次更新,如果运气不好还是会出现错误。
所以这里建议你不要再次升级了。这里可能就是服务器下载更新包太慢了导致。

好吧,后台在线的更新通道不行,怎么办?另外想办法吧。
把Nextcloud15.0.2的压缩包下载到电脑后上传到服务器再解压到Nextcloud的安装根目录里面进行覆盖操作。嘿嘿!!!可行,上传完毕后打开Nextcloud主页就会弹出更新提示了。如下图:

用这种方式更新后会,安全及设置警告里面会多出很多很多的异常文件警告!

Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the documentation

就是说某些文件未通过完整性检查。

这个就是相对来说的,因为是覆盖升级,(当然,不知道通过更新通道更新会不会出现文件完整性检查)之前NC老版本多余的无用的文件就是这种命运了。

如果手动删除真的会把人折腾死,因为文件很多很散乱。

好了,重新安装了各位。

重新安装Nextcloud后出现的安全及设置警告:

说明:这里用的CentOS系统、web服务器是Apache、PHP7.2

说重新安装不如说是重新升级安装,毕竟是为了升级到新版本的Nextcloud。

第一条:

一切如以往那样安装完毕后,首先出现的是:

数据库中的一些列由于进行长整型转换而缺失。由于给较大的数据表添加索引会耗费一些时间,因此程序没有自动对其进行修复。您可以在 Nextcloud 运行时通过命令行手动执行 “occ db:add-missing-indices” 命令修复丢失的索引。该操作需要当整个实例变为离线状态后执行。查阅相关文档以获得更多详情。
filecache.mtime
filecache.storage_mtime

这里用到sudo -u www php occ db:add-missing-indices 这条命令

SSH进入服务器nextcloud的根目录,并执行修复命令
详:这里的Nextcloud根目录就说你的Nextcloud程序安装的目录,例如:
如果你把Nextcloud安装到web目录了那么web就是nextcloud的根目录
/www/wwwroot/web/(web就是根目录)
/www/wwwroot/cloud/(cloud就是根目录)
/www/wwwroot/nextcloud/(nextcloud就是根目录)

下图中显示的Nextcloud安装到了oanas目录,可以看到已经cd到oanas目录

其中需要注意一下:
系统有没有安装sudo,如果咩有需要先安装sudo。
Debian/Ubuntu: apt-get install sudo
Centos: yum install sudo

到这里这个丢失索引的问题解决了,只有当解决了这一条警告后,新的一条便紧跟着出现了,如下:

第二条

数据库中的一些列由于进行长整型转换而缺失。由于给较大的数据表添加索引会耗费一些时间,因此程序没有自动对其进行修复。您可以在 Nextcloud 运行时通过命令行手动执行 “occ db:convert-filecache-bigint” 命令修复丢失的索引。该操作需要当整个实例变为离线状态后执行。查阅相关文档以获得更多详情。
这里和上面差不多执行命令就可以了
SSH进入服务器nextcloud的根目录,并执行命令
sudo -u www php occ db:convert-filecache-bigint

如下图:现则“y”回车。OK

到这里类似的问题就结束了

注意了,注意了,注意了。新的问题

但是新的问题是:
HTTP的请求头 “Referrer-Policy” 未设置为 “no-referrer”, “no-referrer-when-downgrade”, “strict-origin” or “strict-origin-when-cross-origin”. 这会导致信息泄露

这个安全及设置警告的问题在之前的Nextcloud14版本里面已经解决了!并没有更改设置,为何升级后还是显示呢?去查看配置文件也没有问题,原来的参数都好好的呢!!!

<IfModule mod_headers.c> 
  Header always set Strict-Transport-Security “max-age=15552000; includeSubDomains” 
  Header always set Referrer-Policy no-referrer 
 </IfModule>

看设置参数没有任何问题吧?
但是刷新后问题依旧,

经过官方社区讨论得知这个问题是由于nextcloud15.0.2新版本更新了.htaccess文件,在.htaccess文件里面默认添加了 如下参数

(Header set Referrer-Policy “no-referrer”)

这里设置只需要回去配置文件里面把原来的:

<IfModule mod_headers.c> 
  Header always set Strict-Transport-Security “max-age=15552000; includeSubDomains” 
  Header always set Referrer-Policy no-referrer 
</IfModule>

修改为:

<IfModule mod_headers.c> 
  Header always set Strict-Transport-Security “max-age=15552000; includeSubDomains” 
</IfModule>

就是把(Header always set Referrer-Policy no-referrer)这一条删除就可以了。因为这一条参数与 .htaccess文件里的参数重复了,因为重复所以出现了这个问题。
当然,也可以删除掉.htaccess文件里的这一条重复配置参数:

如下图:删掉绿色线标注的部分就可以了。

如下图:也可以删掉.htaccess文件里面的重复部分

到此刷新安全及设置警告便出现了一个绿色的对号: 所有检查已通过

未经允许不得转载:下一个课程 » NextCloud升级到15.0.2后的安全警告设置

评论

6+6=

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏