AppNode面板成功安装Nextcloud后出现安全警告解决办法

奇梦 2018-4-29 2876

本文针对通过AppNode面板网站管理环境成功安装Nextcloud后出现安全警告解决办法;

首先通过网站管理>建站市场下载Nextcloud程序:


访问域名按照步骤成功安装Nextcloud后出现如下图所示安全警告:



第一条:PHP 的设置似乎有问题, 无法获取系统环境变量. 使用 getenv("PATH") 测试时仅返回空结果.
可通过AppNode网站管理>PHP>环境变量 新增FastCGI环境变量即可,配置如下:

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp





第二条、一些文件没有通过安全性检查;
这个问题可能性比较多,我这个安装过程只是出现了缺少.user.ini文件,手动新建了一个文件并给权限,文件内容;

upload_max_filesize=511M
post_max_size=511M
memory_limit=512M
mbstring.func_overload=0
always_populate_raw_post_data=-1
default_charset="UTF-8"
output_buffering=0


第三条、PHP 无法访问/dev/urandom,出于安全原因这是强烈不推荐的。更多信息请参见文档。
这条可通过网站管理>网站设置>PHP安全站点防跨站目录访问限制设置“否”即可解决;



第四条、HTTP 请求头 "Strict-Transport-Security" 没有配置为至少 “15552000” 秒。出于增强安全性考虑,我们推荐按照 安全提示中的说明启用HSTS。
这条有点坑,网站管理>安全有这个HSTS预加载功能,然而并不起作用,AppNode以后应该会解决这个问题吧,关闭这个功能上的,直接自定义编辑源文第一行输入框加入如下配置即可:

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;




第五条、内存缓存配置
这条根据自身需要选择:Memcache、APCu、redis等。我这里直接APCu缓存,进入网站目录config/config.php最后加入'memcache.local' => '\OC\Memcache\APCu',即可;


需要注意的是记得选择对应PHP版本安装APCu扩展;



第六条、PHP的组件OPcache没有正确配置,

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


因为我们使用的是网站管理,不需要直接修改PHP.ini,打开PHPINFO查看OPcache.ini位置,如下图:


找到OPcache.ini文件后去掉注释“;”直接配置上面一样即可;最后记得重载PHP和Nginx服务,大功告成!


推荐选择PHP7.0版本安装Nextcloud,性能更好的展现!

最新回复 (5)
  • 醉忆花颜 2018-5-4
    引用 2
    不错 感谢分享
  • pdone 2018-10-11
    引用 3

    首先非常感谢!
    另外就是第二条 我也是缺少了 .user.ini 文件 然后在网站根目录建了这个文件,把您的内容复制进去,依然提示这个错误,不过错误的提示变成了 如下

    Results

    - core
        - INVALID_HASH
            - .user.ini


    Raw output

    Array
    (
        [core] => Array
            (
                [INVALID_HASH] => Array
                    (
                        [.user.ini] => Array
                            (
                                [expected] => 467d4f028c447895716a2b7859ed6e569f8ee34b87b51d73dab2e6a9ca4fbe63172c7be3e365ae864a60408286afcce852dd38ee544b61685ed4ee5e021fecb0
                                [current] => 653cd535cb5747af30f9e23247ba0b70559959e06ac9c538df828bb96241b1e6d69644ae2f1d8cee056a57d8c7fb7088fa03d9aadfcff63e80fbf11f0647b9e5
                            )
    
                    )
    
            )
    
    )
  • postmaster 2021-4-10
    引用 4

    为nextcloud21添砖
    提示默认电话区号config添加中国的


    'default_phone_region' => 'CHN',


    默认语言
    'default_language' => 'zh',

    您的网页服务器未正确设置以解析“/.well-known/caldav”
    /.well-known/carddav

    appnode解决方法,参考截图


    添加301重定向
    目录填写:/.well-known/carddav
    跳转URL填写:域名/remote.php/dav/
    另外一个一样
    目录填写:/.well-known/caldav
    跳转域名填写:域名/remote.php/dav/
    请求路径全部不保留,都是301重定向。
    另外两个后续解决了在发方法。

  • postmaster 2021-4-10
    引用 5

    楼上截图两个依然是添加URL重定向解决的,参考截图


    添加URL重定向
    路径:.well-known
    目标URL:域名/index.php$uri;
    301重定向,不保留路径
    上图警告下面参数默认使用官方方法,忽略警告。
    add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;

    官方config配置参考:https://docs.nextcloud.com/server/21/admin_manual/configuration_server/config_sample_php_parameters.html?highlight=config

  • postmaster 2021-4-10
    引用 6
    pdone 首先非常感谢! 另外就是第二条 我也是缺少了 .user.ini 文件 然后在网站根目录建了这个文件,把您的内容复制进去,依然提示这个错误,不过错误的提示变成了 如下 Results ` ...
    你这是其它面板自动生成的防夸站文件权限限制,不能覆盖修改,参考解决方法,关闭防夸站,复制源码里面一份原版文件到根目录,检查通过后,在编辑文件,上面手工写入防夸站规则。
返回
发新帖