二:nextcloud27最全面优化与解决各种安全警告

这篇具有很好参考价值的文章主要介绍了二:nextcloud27最全面优化与解决各种安全警告。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

NEXCLOUD优化

PHP配置环境变量

找到www.conf文件,ubuntu位于 /etc/php/8.2/fpm/pool.d

vim /etc/php/8.2/fpm/pool.d/www.conf

如果使用env | grep $PATH能打印出环境变量只需要

**取消注释 clear_env = no**即可

否则自己手动先配置环境变量吧(略)

重启PHP

任何对php做出的修改都使用以下命令重启

首先

ps aux|grep php-fpm

二:nextcloud27最全面优化与解决各种安全警告,nextcloud,next cloud优化,nginx,安全,android

使用kill命令

kill -USR2  33166

最大上传大小与内存限制

PHP-FPM

如果您想增加最大上传大小,您还必须修改 您的 php-fpm 配置并增加 upload_max_filesizepost_max_size 值。并且修改最大内存大小memory_limit.您需要重新启动 php-fpm 和您的 HTTP 服务器以便应用这些更改。

参考值可根据 pmcalculator 计算得出

vim /etc/php/8.2/fpm/php.ini
; https://php.net/upload-max-filesize
upload_max_filesize = 20G

; Maximum number of files that can be uploaded via a single request
max_file_uploads = 5

; https://php.net/memory-limit
memory_limit = 7168M

max_input_time = -1
max_execute_time = 3600

NGINX

修改nginx的nextcloud.conf 配置中的最大上传大小即可

vim /etc/nginx/conf.d/nextcloud.conf
        # set max upload size
        client_max_body_size 0;

抑制日志消息

如果您在日志文件中看到无意义的消息,例如 ,请将此部分添加到 你的 nginx 配置来抑制它们:client denied by server configuration: /var/www/data/htaccesstest.txt

location = /data/htaccesstest.txt {
  allow all;
  log_not_found off;
  access_log off;
}

请求头相关问题

vim /etc/nginx/conf.d/nextcloud.conf

在HTTPS配置块中增添以下内容 add_header Strict-Transport-Security max-age=15552000;

        add_header Strict-Transport-Security 'max-age=15552000' always;
        add_header Referrer-Policy                   "no-referrer"       always;
        add_header X-Content-Type-Options            "nosniff"           always;
        add_header X-Frame-Options                   "SAMEORIGIN"        always;
        add_header X-Permitted-Cross-Domain-Policies "none"              always;
        add_header X-Robots-Tag                      "noindex, nofollow" always;
        add_header X-XSS-Protection                  "1; mode=block"     always;

二:nextcloud27最全面优化与解决各种安全警告,nextcloud,next cloud优化,nginx,安全,android

重载nginx

systemctl reload nginx

缺失国际区号与默认地域

vim /var/www/nextcloud/config/config.php

添加如下语句

 'default_phone_region' => 'CN',
 'default_language' => 'zh_CN',
 'default_locale' => 'zh',

不被信任的域名

vim /var/www/nextcloud/config/config.php

添加该域名即可

  #受信任的域名
  'trusted_domains' => 
  array (
    0 => '10.0.0.2',
    1 => '10.1.1.20',
    2 => 'nc6.example.com',
    3 => 'hnc6.example.com',
    4 => 'nc4.example.com',
  ),

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

编辑nginx配置文件,修改well-know相关

    location ^~ /.well-known {

            location = /.well-known/webfinger   { return 301 $scheme://$host:11224/index.php/.well-known/webfinger; }
            location = /.well-known/nodeinfo    {return 301 $scheme://$host:11224/index.php/.well-known/nodeinfo;}

            location = /.well-known/carddav     { return 301 $scheme://$host:11224/remote.php/dav/; }
            location = /.well-known/caldav      { return 301 $scheme://$host:11224/remote.php/dav/; }

            try_files $uri $uri/ =404;
        }

编辑 vim /var/www/nextcloud/config/config.php

主域名一定使用本机的,原因在于安装时使用了代理服务器域名

'overwrite.cli.url' => 'https://10.0.0.2:11224',

40069:当端口不是80或者443并且在安装时使用代理的域名时会出现此问题,修改40069为对应的外部映射端口

或者使用 $server_port来代替

缺少PHP模块

缺啥补啥,或者全给他下了

sudo apt install -y php8.2-common php8.2-curl php8.2-xml php8.2-mbstring php8.2-gd php8.2-sqlite3 php8.2-mysql php8.2-bz2 php8.2-intl php8.2-ldap php8.2-imap php8.2-bcmath php8.2-gmp php8.2-apcu php8.2-imagick

优化内存缓存配置

官网推荐同时使用本地缓存和分布式缓存。推荐的缓存是APCu和Redis

apt install -y php8.2-apcu redis-server php8.2-redis

确认Redis是否正在运行:

ps ax | grep redis
netstat -tlnp | grep redis

Redis开始运行后,启用相应php模块:

你也可以手动在php.ini中添加以下内容,效果相同:

vim /etc/php/8.2/fpm/php.ini
; Redis php extension
extension=redis.so

开启apcu(php有php-fpm和php-cli两种运行方式,都要开启apcu,添加apc.enable_cli=1

vim /etc/php/8.2/fpm/conf.d/20-apcu.ini
apc.enable_cli=1
vim /etc/php/8.2/cli/php.ini
apc.enable_cli=1

按照上述的步骤重启PHP服务

开启apcu和redis

vim /var/www/nextcloud/config/config.php

添加如下内容

  'memcache.local' => '\OC\Memcache\APCu',
  'memcache.distributed' => '\OC\Memcache\Redis',
  'memcache.locking' => '\OC\Memcache\Redis',
  'redis' => [
  'host' => 'localhost',
  'port' => 6379],

添加 'memcache.distributed' => '\OC\Memcache\Redis', 后会报错,不知为何,若报错删除即可

如果redis有密码,加上该参数即可'password' => '******'

重载nginx

systemctl reload nginx

优化 php-fpm 性能,提高页面加载效率

可在这个网站计算:https://spot13.com/pmcalculator/

优化www.conf配置文件,增加更多的进程来处理页面数据。

vim /etc/php/8.2/fpm/pool.d/www.conf

需要修改和添加的字段有:

# pm.max_children = 5
pm.max_children = 79

# pm.start_servers = 2
pm.start_servers = 19

#pm.min_spare_servers = 1
pm.min_spare_servers = 19

# pm.max_spare_servers = 3
pm.max_spare_servers = 59

数值越大,进程越多,平均每个进程消耗 32M-96M 内存,按需设置

设置成功后重启 nextcloud 服务即可。

504 Gateway Time-out

vim /etc/nginx/conf.d/nextcloud.conf

在 nginx 配置文件钟添加以下语句即可解决

fastcgi_read_timeout 86400;

重启nginx或者重新加载配置文件

nginx -s reload

存在错误日志

日志路径位于nextcloud/data/ 目录下

vim /var/www/nextcloud/data/nextcloud.log

php-imagick 模块不支持 SVG

可以直接用以下步骤即可

 apt install libmagickcore-6.q16-6-extra

重启nginx

systemctl restart nginx

nextcloud无法访问应用商店

#在config.php中增加以下配置

vim /var/www/nextcloud/config/config.php
'appstoreenabled' => true,
'appstoreurl' => 'https://www.orcy.net/ncapps/v2/',

视频预览与缩略图并配置imaginary

在应用商店下载Preview Generator 插件并将其启用(通过正确配置可以预生成预览文件,减少系统负载)

首先生成所有预览(必须下载Preview Generator),如若文件很多,将会耗费较长时间

cd /var/www/nextcloud
sudo -u www-data php occ Preview:generate-all -vvv

其次将Preview:pre-generate添加到cron作业中

cd /var/www/nextcloud
sudo -u www-data php occ preview:pre-generate

构建imaginary服务

手动构建

创建并编辑docker-compose.yml

version: '3.1'

services:
  aio-imaginary:
    image: docker.io/nextcloud/aio-imaginary:latest
    restart: always
    environment:
      - PORT=9000
    ports:
      - "172.18.0.10:9000:9000"
    command: 
      - -concurrency 50
      - -enable-url-source
      - -log-level debug

之后在当前文件夹下执行docker compose up -d即可

宝塔1panel构建

二:nextcloud27最全面优化与解决各种安全警告,nextcloud,next cloud优化,nginx,安全,android

apt install libmagickcore-6.q16-6-extra
apt install ffmpeg
vim /var/www/nextcloud/config/config.php
'enable_previews' => true,
'enabledPreviewProviders' =>
 array (
    0 => 'OC\\Preview\\TXT',
    1 => 'OC\\Preview\\MarkDown',
    2 => 'OC\\Preview\\OpenDocument',
    3 => 'OC\\Preview\\PDF',
    4 => 'OC\\Preview\\MSOffice2003',
    5 => 'OC\\Preview\\MSOfficeDoc',
    6 => 'OC\\Preview\\PDF',
    7 => 'OC\\Preview\\Image',
    8 => 'OC\\Preview\\Photoshop',
    9 => 'OC\\Preview\\TIFF',
   10 => 'OC\\Preview\\SVG',
   11 => 'OC\\Preview\\Font',
   12 => 'OC\\Preview\\MP3',
   13 => 'OC\\Preview\\Movie',
   14 => 'OC\\Preview\\MKV',
   15 => 'OC\\Preview\\MP4',
   16 => 'OC\\Preview\\AVI',
   17 => 'OC\Preview\EMF',
   18 => 'OC\\Preview\\Krita',
   19 => 'OC\\Preview\\Imaginary',
 ),

 'preview_imaginary_url' => 'http://imaginary:9000',
 #缩略图为webp格式
 'preview_format' => 'webp',

预览图像的默认 WebP 质量设置为“80”。将其更改为30,加快加载速度:

cd /var/www/nextcloud
sudo -u www-data php occ config:app:set preview webp_quality --value="30"

之后可以很明显的感觉到加载图片速度变快了,也可以预览视频图片

设置cron定时任务

二:nextcloud27最全面优化与解决各种安全警告,nextcloud,next cloud优化,nginx,安全,android

vim /etc/systemd/system/nextcloudcron.service
[Unit]
Description=Nextcloud cron.php job
 
[Service]
User=www-data
ExecStart=/usr/bin/php -f /var/www/nextcloud/cron.php
 
[Install]
WantedBy=basic.target
vim /etc/systemd/system/nextcloudcron.timer
[Unit]
Description=Run Nextcloud cron.php every 7 minutes
 
[Timer]
OnBootSec=7min
OnUnitActiveSec=7min
Unit=nextcloudcron.service
 
[Install]
WantedBy=timers.target
systemctl enable --now nextcloudcron.timer	

电子邮件配置

二:nextcloud27最全面优化与解决各种安全警告,nextcloud,next cloud优化,nginx,安全,android

数据库优化

具体优化性能以硬件标准为准

vim /etc/php/8.2/fpm/conf.d/20-mysqli.ini

最底下加入以下内容:

[mysql]
mysql.allow_local_infile=On
mysql.allow_persistent=On
mysql.cache_size=2000
mysql.max_persistent=-1
mysql.max_links=-1
mysql.default_port=
mysql.default_socket=/run/mysqld/mysqld.sock 
mysql.default_host=
mysql.default_user=
mysql.default_password=
mysql.connect_timeout=60
mysql.trace_mode=Off

编辑 mariadb.cnf 文件:

vim /etc/mysql/mariadb.cnf

加入以下内容:

[server]
skip_name_resolve = 1
innodb_buffer_pool_size = 128M
innodb_buffer_pool_instances = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 32M
innodb_max_dirty_pages_pct = 90
query_cache_type = 1
query_cache_limit = 2M
query_cache_min_res_unit = 2k
query_cache_size = 64M
tmp_table_size= 64M
max_heap_table_size= 64M
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 1
[mysqld]
character_set_server = utf8mb4
collation_server = utf8mb4_general_ci
transaction_isolation = READ-COMMITTED
binlog_format = ROW
innodb_large_prefix=on
innodb_file_format=barracuda
innodb_file_per_table=1

重启mysql与nginx

突破内网上传上限

更改上传块大小

cd /var/www/nextcloud
sudo -u www-data php occ config:app:set files max_chunk_size --value 0

如果遇到设置为0不能上传的问题,请设置为一个特别大的值即可

您的远端地址识别为***,且目前正受到强力限制,导致降低了各种请求的性能。

二:nextcloud27最全面优化与解决各种安全警告,nextcloud,next cloud优化,nginx,安全,android

根本原因:在登陆时,使用代理服务输入了错误的密码,触发了暴力保护,最简单的解决方法是注销重新用正确账户密码登录一次即可。或者使用如下的方式,将该代理服务ip加入暴力破解白名单即可。

官网解释

暴力保护
Nextcloud 具有针对暴力破解尝试的内置保护。这可以保护您的系统免受攻击者尝试,例如尝试许多不同的密码。

Nextcloud 上默认启用暴力保护。

怎么运行的
暴力保护最容易在登录页面上看到。如果您尝试使用无效的用户名和/或密码首次登录,您将不会注意到任何内容。但如果您这样做几次,您就会开始注意到每次登录验证所需的时间都更长。这就是强力保护的作用。

最大延迟为 25 秒。

成功登录后,尝试次数将被清除。一旦用户通过正确的身份验证,他们将不再受到延迟的影响。

暴力保护和负载均衡器/反向代理
如果您使用反向代理或负载均衡器,请务必确保其设置正确。特别是config.php 中的trusted_proxies和forwarded_for_headers 变量需要正确设置。否则,Nextcloud 实际上可能会开始限制来自反向代理或负载均衡器的所有流量。有关详细信息,请参阅反向代理。

从暴力保护中排除 IP 地址
可以将 IP 地址排除在暴力保护之外。

启用暴力设置应用程序

以管理员身份登录并转到管理设置 -> 安全

警告

请注意,任何排除的 IP 地址都可以执行身份验证尝试,而不会受到任何限制。最好排除尽可能少的 IP 地址,甚至根本不排除。

二:nextcloud27最全面优化与解决各种安全警告,nextcloud,next cloud优化,nginx,安全,android

启用 Brute-force settings 应用程序

二:nextcloud27最全面优化与解决各种安全警告,nextcloud,next cloud优化,nginx,安全,android

在 安全 选项卡中,添加暴力破解ip白名单即可

二:nextcloud27最全面优化与解决各种安全警告,nextcloud,next cloud优化,nginx,安全,android

config.php完整配置如下

<?php
$CONFIG = array (
  'instanceid' => 'ocpvn710jx5a',
  'passwordsalt' => '2MOt/7l5TVhHAuken/qn3KIpVEk8jp',
  'secret' => 'mGG1LUm+h9sItuZKSY9oSJ16xx28otdRvTodoxjEVFhenVaz',
  #受信任的域名
  'trusted_domains' => 
  array (
    0 => '10.0.0.2',
    1 => '10.1.1.20',
    2 => 'nc6.example.com',
    3 => 'hnc6.example.com',
    4 => 'nc4.example.com',
  ),
  'datadirectory' => '/var/www/nextcloud/data',
  'version' => '27.1.4.1',
  #主域名
  'overwrite.cli.url' => 'https://10.0.0.2',

  #数据库信息
  'dbtype' => 'mysql',
  'dbname' => 'nextcloud',
  'dbhost' => 'localhost',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => 'glxaa',
  'dbpassword' => '123456',
  'installed' => true,
  'default_phone_region' => 'CN',
  'default_language' => 'zh_CN',
  'default_locale' => 'zh',
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'memcache.distributed' => '\\OC\\Memcache\\Redis',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'redis' => 
  array (
    'host' => 'localhost',
    'port' => 6379,
  ),
  #配置预加载,缩略图
  'enable_previews' => true,
  'enabledPreviewProviders' => 
  array (
    0 => 'OC\\Preview\\TXT',
    1 => 'OC\\Preview\\MarkDown',
    2 => 'OC\\Preview\\OpenDocument',
    3 => 'OC\\Preview\\PDF',
    4 => 'OC\\Preview\\MSOffice2003',
    5 => 'OC\\Preview\\MSOfficeDoc',
    6 => 'OC\\Preview\\PDF',
    7 => 'OC\\Preview\\Image',
    8 => 'OC\\Preview\\Photoshop',
    9 => 'OC\\Preview\\TIFF',
    10 => 'OC\\Preview\\SVG',
    11 => 'OC\\Preview\\Font',
    12 => 'OC\\Preview\\MP3',
    13 => 'OC\\Preview\\Movie',
    14 => 'OC\\Preview\\MKV',
    15 => 'OC\\Preview\\MP4',
    16 => 'OC\\Preview\\AVI',
    17 => 'OC\\Preview\\EMF',
  ),

二:nextcloud27最全面优化与解决各种安全警告,nextcloud,next cloud优化,nginx,安全,android

  #配置应用商店国内代理
  'appstoreenabled' => true,
  'appstoreurl' => 'https://www.orcy.net/ncapps/v2/',
  'twofactor_enforced' => 'false',
  'twofactor_enforced_groups' => 
  array (
  ),
  'twofactor_enforced_excluded_groups' => 
  array (
  ),
);

优化后安全检查结果

二:nextcloud27最全面优化与解决各种安全警告,nextcloud,next cloud优化,nginx,安全,android

一:nextcloud27+nginx +ssl+各种优化+双栈的傻瓜式安装教程

二:nextcloud27最全面优化与解决各种安全警告

三:nextcloud27+nginx 使用家庭公网ipv6+云服务器公网ipv4配置双栈并将特定的请

四:解决nextcloud无法播放avi、mkv等视频格式的问题

五:解决nextcloud无法在线预览markdown文件内的网络图片得到问题文章来源地址https://www.toymoban.com/news/detail-808078.html

到了这里,关于二:nextcloud27最全面优化与解决各种安全警告的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络安全面试题大全(整理版)300+面试题附答案详解,最全面详细

    随着国家政策的扶持,网络安全行业也越来越为大众所熟知,想要进入到网络安全行业的人也越来越多。 为了拿到心仪的Offer之外,除了学好网络安全知识以外,还要应对好企业的面试。 作为一个安全老鸟,工作这么多年,面试过很多人也出过很多面试题目,也在网上收集了

    2024年02月08日
    浏览(58)
  • 网络安全面试题大全(整理版)500+面试题附答案详解,最全面详细,看完稳了

    随着国家政策的扶持,网络安全行业也越来越为大众所熟知,想要进入到网络安全行业的人也越来越多。 为了拿到心仪的Offer之外,除了学好网络安全知识以外,还要应对好企业的面试。 作为一个安全老鸟,工作这么多年,面试过很多人也出过很多面试题目,也在网上收集了

    2024年02月09日
    浏览(49)
  • Flutter最全面试题大全

    在理解这些问题之前,建议看一下Flutter架构原理,如下链接: https://blog.csdn.net/wang_yong_hui_1234/article/details/130427887?spm=1001.2014.3001.5501 1.使用overflow属性 2.使用maxLines属性 3.使用Expanded或Flexible 4.使用ListView或SingleChildScrollView Widget是UI的声明式描述,它们通常是层次结构的顶部。

    2024年02月08日
    浏览(48)
  • SpringCloud最新最全面试题

    目录 一、简单说一说什么是微服务? 二、微服务有哪些优缺点? 三、微服务、分布式、集群的区别? 四、什么是Eureka? 五、Eureka有那两大组件? 六、actuator是什么? 七、Discovery是什么? 八、什么是Eureka的自我保护机制? 九、微服务有很多注册中心组件,说说你知道的有

    2024年02月12日
    浏览(51)
  • 漏洞攻击中怎么去做最全面覆盖的sql注入漏洞攻击?表信息是如何泄露的?预编译就一定安全?最受欢迎的十款SQL注入工具配置及使用

    漏洞攻击中怎么去做最全面覆盖的sql注入漏洞攻击?表信息是如何泄露的?预编译就一定安全?最受欢迎的十款SQL注入工具配置及使用。 SQL注入是因为后台SQL语句拼接了用户的输入,而且Web应用程序对用户输入数据的合法性没有判断和过滤,前端传入后端的参数是攻击者可控

    2024年01月24日
    浏览(44)
  • ChatGPT百科全书(全网最全面)

    ChatGPT是一款先进的自然语言处理(NLP)模型,由OpenAI开发和维护。它基于OpenAI的第四代生成预训练Transformer(GPT-4)架构,旨在通过深度学习技术理解和生成人类语言。ChatGPT可以与用户进行自然、流畅的交流,为各种场景提供智能问答和文本生成能力。 GPT-4架构继承了GPT-3的

    2024年02月05日
    浏览(87)
  • JMeter安装配置及使用说明【最全面】

    Apache JMeter是Apache组织开发的基于Java的压力测试工具,它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。 目录 JMeter安装配置 下载安装 JMeter参数配置 默认配置 ​内存配置 JMeter运行 常用组件介绍 全局设置 HTTP Cookie管理器

    2024年02月15日
    浏览(37)
  • HDFS 短路读的实现(全网最全面深入讲解)

    HDFS短路读是性能优化的一个重要特性,它利用操作系统的内存映射 mmap 、 Domain Socket 和共享内存,避开传统的基于TCP的数据通信,极大提升了数据读取效率。 整个短路读的过程完全放弃传统的基于 TCP/IP 的通信方式,基于 Domain Socket 进行通信,基于 mmap 和内存共享进行数据同

    2024年02月08日
    浏览(59)
  • 【史上最全面esp32教程】oled显示篇

    本节课主要讲的是OLED的基础使用。使用的oled为0.96寸,128*64。 大家的其他型号也是可以用的。 提示:以下是本篇文章正文内容,下面案例可供参考 oled的简介: OLED英文全名Organic Light-Emitting Diode,又可称为「有机发光二极体」或是「有机电雷射显示」。 OLED有着色彩鲜艳、功

    2023年04月19日
    浏览(42)
  • 最全QQ盗号手法分析,全面防御QQ盗号

    你的QQ是否被盗过号,或者你身边的朋友、同学是否有过被盗号的经历。如今的安全机制真的没有效吗?盗号真的这么简单吗?本期将彻底解决这一问题。 本期是上一期的姊妹篇,建议先看上一期,这样对于攻击者的手法才有更好的理解:传送门 1、诱导链接以及二维码   

    2024年02月05日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包