腾讯404公益,dnpw公益,为世界贡献一份绵薄之力

腾讯版

这里推荐腾讯404公益页面,因为腾讯有专业的公益团队去维护,并且定期公布公益数据,在公益闭环上做的比较好,将下面代码替换到你的404.html即可

效果参考:腾讯版404

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8" />
    <link rel="icon" href="data:image/gif;base64,R0lGODdhIAAgANUAAAAAAAgFBgYICAwMDBAPDxAQDxQTFBUYFxcaGRwcHCQkJCQoJykqKTQ0ND09PUJCQktMTFZWVltcXF1hYGNjY2doaGpqanNzc3d5eHp6eoODg4uLi5eXl5mamqOjo62tra+wr7S0tLe5uLu7u7/AwMPEw83NzdbX1tfa2dra2uTk5Ovr6+/w7/T09Pj39/f4+P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAADEALAAAAAAgACAAAAb/QJhwOGyZOpIGQ6FgNCQcU4tIrcJaIwlgy+1uJaOplZqydBOSzGaTkSS6lNN4ONoOAJRQajV0rVAgFF0jcyEAbw9hc1cjD4cAIVZ1DAAXKotEKxkAlIREJ48bYphFGwAKAHJCLWaVo6RFF1sWYnUDDpewVSoOd4QtWgCeMCmXLaqfUyopdF9GWxRiKQAVKh3CRHUdKhQEzFeCAEdbH6uOh28A3ypbCQhbEGIfWx2CCd8wJhB2CpFDIQvuAIBgYkiKN0kASOAzRJYjBwyFrGgAwNGFTFqUAMjwYogpA1woMFwRDgDIDUQ2LQGAcoiGLRr2QRgp8yUADURMMWFJRYMH3BglJOQSwq0EDA84c56ilOGVLisqKUaISKVFihIjRJRI4XTIiggAGggygKxICAoguSDI0/UEyAnXAJTLJMtLlwxUYcwD0MEEtIgtBKGi0OHDh3qn8IwKvEVKuGHXGAwI8apFCAOUOvxzBqNOAVzgthi1UgKasl7YrtS9MMXI6DEjpKieNWoaSA1dF7V4+QafkNKoLOlSIQsVCUkmATgYwWIRCxEOAByANKc0AAEAJnzYI6bFihQfBAUQjSlF3S0GIqjZgCFC2i0XfM/BUtJuSEVPjdRTwsQJYdljBAEAOw==">
    <title>404 您访问的页面搞丢了</title>
</head>
<body>
    <script
        type="text/javascript"
        src="//qzonestyle.gtimg.cn/qzone/hybrid/app/404/search_children.js"
        charset="utf-8">
    </script>
</body>
&lt;/html>

- 阅读剩余部分 -

Nginx中禁止某些的非法文件的访问和下载

下面列举了89中常见的非web文件

    #禁止访问根目录下指定格式文件
    location ~* ^(/backups/|/backup/|/back/|/bak/|/)([^/]*)(\.)(conf|config|cfg|ini|yaml|yml|json|xml|properties|toml|env|htaccess|nginx|htpasswd|htdigest|htgroup|key|pfx|pem|crt|der|cer|p12|p7b|p7c|crl|7z|zip|rar|tar|gz|bz2|xz|z|tgz|tbz2|txz|docx|doc|xls|xlsx|csv|pdf|ppt|bak|sql|dump|dmp|db|mdb|dbf|ldf|mdf|ibd|frm|sqlite|lua|exe|bat|sh|com|cmd|msi|app|jar|py|pl|c|cpp|java|class|dll|so|deb|rpm|rb|js|ps1|vbs|ps|psh|powershell|awk|sed|dmg|pkg|iso|img|bin)$ 
    {
        # 正则规则说明:
        # ^                                    # start
        # (/backups/|/backup/|/back/|/bak/|/)  # 目录名
        # ([^/]*)                              # 文件名 0次或多次
        # (\.)                                 # .
        # (json|htaccess)                      # 后缀名
        # $                                    # end
        
        deny all;
    }

docker版禅道16.4升级至18.6步骤

一、备份旧的禅道文件和数据库

  • 在禅道后台使用系统自带的备份功能

    手动进行备份,并记录其中的数据库备份文件的文件名,后续会用到

  • 停止16.4版容器并删除

    根据自身旧版16.4禅道的docker运行命令分析,确保旧版禅道数据都映射在了宿主机中,那么就可以直接删除旧版容器

  • 重命名映射到宿主机中的目录名

    (此步骤为避免新容器覆盖宿主机目录的保险操作,路径结合自身情况调整)

    mv /home/ubuntu/zentaopms /home/ubuntu/zentaopms_old
    mv /home/ubuntu/zentaomysql /home/ubuntu/zentaomysql_old

    左边路径为旧版禅道映射在宿主机中的目录,右边路径为重命名目录,根据自身情况进行修改

- 阅读剩余部分 -

  • 在配置文件中,你需要调试的web之前任意块中,添加以下内容

    add_header x0-NGINX-DEBUG '=========================================';
    add_header x1-NGINX-http_user_agent $http_user_agent;
    add_header xA-NGINX-http_cookie $http_cookie;
    add_header xB-NGINX-request $request;
    add_header xC-NGINX-request_body $request_body;
    add_header xD-NGINX-request_method $request_method;
    add_header xE-NGINX-request_time $request_time;
    add_header xF-NGINX-request_uri $request_uri;
    add_header xG-NGINX-scheme $scheme;
    add_header xH-NGINX-request_server_name $server_name;
    add_header xI-NGINX-request_server_port $server_port;
    add_header xJ-NGINX-uri $uri;
    add_header xK-NGINX-args $args;
    add_header xL-NGINX-is_args $is_args;
    add_header xM-NGINX-request_filename $request_filename;
    add_header xN-NGINX-pid $pid;
    add_header xO-NGINX-document_root $document_root;
    add_header xP-NGINX-document_uri $document_uri;
    add_header xQ-NGINX-host $host;
    add_header xR-NGINX-hostname $hostname;
    add_header xS-NGINX-proxy_protocol_addr $proxy_protocol_addr;
    add_header xT-NGINX-proxy_protocol_port $proxy_protocol_port;
    add_header xU-NGINX-query_string $query_string;
    add_header xV-NGINX-realpath_root $realpath_root;
    add_header xW-NGINX-remote_addr $remote_addr;
    add_header xX-NGINX-remote_port $remote_port;
    add_header xY-NGINX-remote_user $remote_user;
    add_header xZ-NGINX-DEBUG '=========================================';

- 阅读剩余部分 -

注意:!!!

该设置会导致docker容器中网络出现各种问题,例如:容器中无法访问外部网络等,如果你了解原理和设置可以继续往下看,不过 Docker与防火墙问题 这篇文章提到了可以通过临时关闭ESLinux来避免,不过我没测试

一、分析

  1. 通过命令iptables-save查看防火墙状态:

    防火墙状态(点击查看图片)

  2. 发现docker自动在防火墙列表中添加了开放端口的规则. 所以根本就没走到ufw端口就被放行了.

那么, 如果不希望docker映射的端口对外开放怎么办呢?

- 阅读剩余部分 -

问题描述

在style中使用scss时,安装sass和sass-loader。

解决过程(避坑)

之前搜的网上,安装node-sass,各版本对照等等,到最后也不能运行,后来发现,安装sass而不是node-sass,就可以完美运行。

解决方法

  1. 卸载之前安装的版本(node-sass,天坑)

    npm uninstall node-sass
    npm uninstall sass-loader
  2. 安装对应版本(此处NodeJS版本为V16.13.1)

    npm install sass@1.26.5 --save-dev
    npm install sass-loader@8.0.2 --save-dev
  3. Node其他版本和sass、sass-loader的关联并未尝试

参考:
https://blog.csdn.net/l963937050/article/details/122302208

介绍

在复制大量文件的情况下,robocopy比xcopy更快。这是因为robocopy使用多线程技术和其他优化方式来提高复制速度和效率。此外,robocopy还具有断点续传和其他有用的功能,可以让您更好地控制文件复制过程。

相比之下,xcopy是一个更简单的工具,没有像robocopy那样的高级功能和优化技术。xcopy可以在简单的情况下提供良好的效果,但是对于大规模复制操作,robocopy会更加适用。

综上所述,如果您需要复制大量文件或要复制文件夹的子文件夹和文件,请使用robocopy。如果您需要复制一些较小的文件或需要进行基本的复制操作,则使用xcopy可能更加简单和方便。

命令

可以使用以下命令将一个文件夹中的所有内容复制到另一个地方:

robocopy <源文件夹路径> <目标文件夹路径> /E

其中,<源文件夹路径>是需要复制的文件夹路径,<目标文件夹路径>是复制后文件夹的路径。/E参数表示复制所有子文件夹和文件。如果目标路径不存在,robocopy会自动创建该路径。

例如,如果要将D:\Documents文件夹中的所有文件和文件夹复制到E:\Backup文件夹中,可以使用以下命令:

robocopy D:\Documents E:\Backup /E

执行命令后,Robocopy会开始复制所有的文件和文件夹,并显示复制进度。

参数区别

选项是否复制时间戳是否覆盖已有文件描述
/E复制源目录及其子目录中所有的非空目录和文件到目标目录中,同时保留源目录结构。这个选项还会复制文件和目录的属性和时间戳。如果指定了/R/W选项,则在文件复制过程中出现错误时进行重试。
/COPYALL复制源目录及其子目录中所有的非空目录和文件到目标目录中,同时保留源目录结构。这个选项会复制文件和目录的属性、时间戳和权限信息。如果指定了/R/W选项,则在文件复制过程中出现错误时进行重试。
/MIR复制源目录及其子目录中所有的非空目录和文件到目标目录中,并在必要时删除目标目录中存在但源目录中不存在的文件和目录,从而将目标目录与源目录完全同步。这个选项会复制文件和目录的属性和时间戳,如果需要,可以覆盖目标目录中已有的同名文件。如果指定了/R/W选项,则在文件复制过程中出现错误时进行重试。

  1. 打开注册表编辑器:按下Win+R键,输入regedit,回车。
  2. 找到服务的注册表项:在注册表编辑器中,依次展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services。
  3. 找到需要修改的服务:在Services下找到需要修改的服务的注册表项。
  4. 修改服务名称:在服务的注册表项中,找到DisplayName键,双击打开,修改键值数据为新的服务名称。
  5. 修改服务描述:在服务的注册表项中,找到Description键,双击打开,修改键值数据为新的服务描述。
  6. 保存修改:修改完成后,点击注册表编辑器的“文件”菜单,选择“退出”保存修改。
  7. 重启计算机:修改服务名称和描述后,需要重启计算机才能生效。