所有由雷老虎发布的文章

使用Nginx实现简单的文件上传下载

server {
    listen 443 ssl;
    server_name dl.mydomain.cn;

    client_max_body_size 80M;
    client_body_buffer_size 4M;

    access_log /var/log/nginx/dl-mydomain_ssl.log;
    error_log /var/log/nginx/dl-mydomain_ssl.err error;

    ssl_certificate /etc/letsencrypt/live/mydomain/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mydomain/privkey.pem;
    ssl_session_timeout 5m;
    add_header X-Frame-Options DENY;
    ssl_ciphers EECDH+AESGCM:EECDH+AES256:EECDH+AES128:-DHE-RSA-AES256-SHA:-DHE-RSA-AES128-SHA:-DES-CBC3-SHA:!RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;

    root /var/www/files;

    location / {
        autoindex on;

        if ($http_x_auth_token != "secret123") {
            return 404;
        }

        try_files $uri $uri/ =404;
    }
    location /upload {
        if ($http_x_auth_token != "secret456") {
            return 404;
        }
        # 启用WebDAV
        dav_methods PUT;
        
        # 存储路径
        root /var/www/uploads;
        
        # 权限设置
        create_full_put_path on;
        dav_access user:rw group:rw all:rw;
        
        # 限制文件大小
        client_max_body_size 100M;
    }
    # 上传完成后的处理(返回成功信息)
    location /upload_done {
        return 200 "Upload completed! File: $upload_file_name";
    }
}
mkdir -p /var/www/uploads
chmod 777 /var/www/uploads  # 根据实际情况调整权限
nginx -s reload

文件会上传到 /var/www/uploads/upload下

Windows无法访问局域网共享的解决方方法(特别是24H2及以后的)

(运行gpedit/编辑组策略)
1.打开组策略,在“本地计算机策略 > 计算机配置 > 管理模板 > 网络 > Lanman 工作站”中启用“启用不安全的来宾登录”。
2.打开组策略,在”本地计算机策略 > 计算机配置 > Windows 设置 > 安全设置 > 本地策略>安全选项”中禁用“Microsoft 网络客户端:对通信进行数字签名(始终)”。
立即生效。
# PowerShell管理员运行:
Set-SmbClientConfiguration -RequireSecuritySignature $false
Set-SmbServerConfiguration -RequireSecuritySignature $false