nextcloud常见问题安全及设置警告解决方法!

最新问题:nextcloud通过不被信任的域名访问

打开 /config/config.php,找到内容修改为:

  'trusted_domains' => 
  array (
    0 => www.pcsafer.com',
  ),

 

问题一:HTTP 请求头 "Strict-Transport-Security" 没有配置为至少 “15552000” 秒。出于增强安全性考虑

解决方法:打开该网站的Apache配置文件,例如pcsafe.conf,单击右键修改,如下图:

代码复制:

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

问题二:内存缓存未配置,为了提升使用体验,请尽量配置内存缓存

解决方法:本站使用Redis内存,可以搜索一下百度安装方法。如果你是linux系统,安装好后,可以使用

ps ax | grep redis

看一下状态!然后打开网站进入config文件夹中修改config.php,修改 在倒数第二行添加

'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
'host' => 'localhost',
'port' => 6379,
'timeout' => 0.0,
'password' => '', // Optional, if not defined no password will be used.
),

题三:PHP 的组件 OPcache 没有正确配置

解决方法:打开php.ini这个。不用说在哪里了吧!CTRL+F 调出查找工具搜索:opcache.enable

opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

以此修改上面的参数!

题四:一些文件没有通过完整性检查。了解如何解决该问题请查看我们的

解决方法:这个可以直接忽略,如果强烈修改的话!那把不通过的文件直接删除就可以了!有些文件无法删除的

比如.user.ini文件这个要修改权限才可以删除的!

题五:PHP 无法访问 /dev/urandom,出于安全原因这是强烈不推荐的

解决方法:接着问题四,这个文件就是防止跨站攻击,因为nextcloud自带有这个文件,然后添加open_basedir=后面就可以了,如下图,看第八行

补充内容:清除地址栏url的index.php

方法:打开网站根目录下.htaccess文件,在文件最后复制下面的代码

ErrorDocument 403 /core/templates/403.php
ErrorDocument 404 /core/templates/404.php
<IfModule mod_rewrite.c>
  Options -MultiViews
  RewriteRule ^core/js/oc.js$ index.php [PT,E=PATH_INFO:$1]
  RewriteRule ^core/preview.png$ index.php [PT,E=PATH_INFO:$1]
  RewriteCond %{REQUEST_FILENAME} !\.(css|js|svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$
  RewriteCond %{REQUEST_FILENAME} !core/img/favicon.ico$
  RewriteCond %{REQUEST_FILENAME} !/remote.php
  RewriteCond %{REQUEST_FILENAME} !/public.php
  RewriteCond %{REQUEST_FILENAME} !/cron.php
  RewriteCond %{REQUEST_FILENAME} !/core/ajax/update.php
  RewriteCond %{REQUEST_FILENAME} !/status.php
  RewriteCond %{REQUEST_FILENAME} !/ocs/v1.php
  RewriteCond %{REQUEST_FILENAME} !/ocs/v2.php
  RewriteCond %{REQUEST_FILENAME} !/robots.txt
  RewriteCond %{REQUEST_FILENAME} !/updater/
  RewriteCond %{REQUEST_FILENAME} !/ocs-provider/
  RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/.*
  RewriteRule . index.php [PT,E=PATH_INFO:$1]
  RewriteBase /
  <IfModule mod_env.c>
    SetEnv front_controller_active true
    <IfModule mod_dir.c>
      DirectorySlash off
    </IfModule>
  </IfModule>
</IfModule>

[success]新增问题6:nextcloud维护模式[/success]

我们在后台升级,会出现下图:

解决方法:主要修改的也是config/config.php,把'maintenance' => true 改为 false, 或者直接删掉这句。我是直接删掉的!!

[success]新增问题7:nextcloud进入升级后,升级没有成功,进入维护模式[/success]

首先要回到问题6的修改方法:修改的也是config/config.php,把'maintenance' => true 改为 false, 或者直接删掉这句。

》》然后PUTTY连接服务器:进入该网站的目录,才能执行的。一定不要直接运行哦。

》》sudo -u www php occ,看一下是否能执行。如果可以的话,那就正常。

》》继续执行:sudo -u www php ./occ upgrade


最新问题:您的数据目录无效 请确定在根目录下有一个名为".ocdata"的文件。 无法创建“data”目录 这个通常可以通过赋予根目录写入权限来修复:

解决方法:打开config文件夹下面:config.php。然后编辑,红色框中的内容,出现这种问题都是:更换服务器出现的问题》


问题6:反向代理标头设置不正确。这会允许攻击者对 Nextcloud 假冒其IP地址并引发安全问题。打开config/config.php

参考文档:https://docs.nextcloud.com/server/29/admin_manual/configuration_server/reverse_proxy_configuration.html

出现这种情况:主要是多域名方向代理才会出现的:

<?php
$CONFIG = array (
  'trusted_proxies'   => ['10.0.0.1'],
  'overwritehost'     => 'ssl-proxy.tld',
  'overwriteprotocol' => 'https',
  'overwritewebroot'  => '/',
  'overwritecondaddr' => '^10\.0\.0\.1$',
  'overwrite.cli.url' => 'https://www.pcsafer.com/,
);

问题7:PHP 内存限制低于建议值 512 MB。

问题8:该实例缺少一些必须的PHP模块。必须安装以下模块:fileinfo 

安装对应的插件即可

问题9:您的网络服务器未正确设置来解析 `.wellknown` URL,失败于: `/.well-known/caldav` 

正在运行 Apache,请编辑网站目录中.htaccess文件

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteRule ^\.well-known/carddav /remote.php/dav [R=301,L]
  RewriteRule ^\.well-known/caldav /remote.php/dav [R=301,L]
  RewriteRule ^\.well-known/webfinger /index.php/.well-known/webfinger [R=301,L]
  RewriteRule ^\.well-known/nodeinfo /index.php/.well-known/nodeinfo [R=301,L]
</IfModule>

问题10:此实例缺少一些推荐的 PHP 模块。为了提高性能和兼容性,强烈建议安装它们: - gmp 用于 WebAuthn 无密码登录和 SFTP 存储

ssh登录系统,执行  apt install libgmp-dev

然后再安装  php的gmp插件

问题11:服务器没有配置维护开始时间。由于资源密集,日常运行负荷在德国主要使用时间,我们建议将其设置为低使用时间

在config/config.php文件中指定此配置

'maintenance_window_start' => 1,

问题12:您在安装过程中未设置默认的国际区号。缺失国际区号的电话号码时将使用默认的国际

在config/config.php文件中指定此配置

'default_phone_region' => 'CN',

 

THE END