2023年8月

腾讯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映射的端口对外开放怎么办呢?

- 阅读剩余部分 -