debian

Debian Nginx如何实现防盗监控

小樊
34
2025-12-08 00:38:26
栏目: 智能运维

在Debian系统上使用Nginx实现防盗链和监控,可以通过以下步骤来完成:

防盗链

防盗链主要是为了防止其他网站直接引用你的资源(如图片、视频、CSS、JS文件等),从而节省带宽并保护你的资源不被滥用。

  1. 编辑Nginx配置文件: 打开你的Nginx配置文件,通常位于 /etc/nginx/nginx.conf/etc/nginx/sites-available/default

    sudo nano /etc/nginx/sites-available/default
    
  2. 添加防盗链配置: 在 server 块中添加以下配置:

    server {
        listen 80;
        server_name example.com;
    
        location / {
            root /var/www/html;
            index index.html index.htm;
        }
    
        location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
            valid_referers none blocked server_names example.com www.example.com;
            if ($invalid_referer) {
                return 403;
            }
        }
    }
    

    解释:

    • valid_referers 指令用于指定允许的引用来源。
    • none 表示不允许任何引用。
    • blocked 表示允许被Nginx阻止的引用。
    • server_names 列表中是你允许的域名。
    • $invalid_referer 是一个变量,如果引用来源无效,则返回403 Forbidden。
  3. 测试配置并重启Nginx

    sudo nginx -t
    sudo systemctl restart nginx
    

监控

监控可以帮助你了解Nginx的性能和健康状况,及时发现并解决问题。

  1. 安装Nginx状态模块: 你可以使用 nginx-module-vts 模块来监控Nginx的状态。

    sudo apt-get update
    sudo apt-get install nginx-module-vts
    
  2. 编译Nginx时启用VTS模块(如果你是从源码编译Nginx):

    ./configure --with-http_v2_module --with-http_ssl_module --add-module=/path/to/nginx-module-vts
    make
    sudo make install
    
  3. 配置Nginx以启用VTS模块: 编辑Nginx配置文件,添加以下内容:

    server {
        listen 80;
        server_name example.com;
    
        location /nginx_status {
            stub_status on;
            access_log off;
            allow 127.0.0.1;  # 只允许本地访问
            deny all;
        }
    
        location / {
            root /var/www/html;
            index index.html index.htm;
        }
    }
    
  4. 测试配置并重启Nginx

    sudo nginx -t
    sudo systemctl restart nginx
    
  5. 访问监控页面: 打开浏览器,访问 http://example.com/nginx_status,你应该能看到Nginx的状态信息。

通过以上步骤,你可以在Debian系统上使用Nginx实现防盗链和监控功能。

0
看了该问题的人还看了