在CentOS系统中,使用Nginx实现防盗链可以通过配置Nginx的ngx_http_referer_module模块来完成。这个模块允许你根据HTTP请求头中的Referer字段来控制访问权限。以下是实现防盗链的步骤:
-
编辑Nginx配置文件:
打开你的Nginx配置文件,通常位于/etc/nginx/nginx.conf或/etc/nginx/conf.d/default.conf。sudo vi /etc/nginx/nginx.conf -
添加防盗链配置:
在server块中添加防盗链配置。以下是一个示例配置:server { listen 80; server_name example.com; location / { # 允许的域名列表 valid_referers none blocked server_names ~\.example\.com$ ~\.trusted\.domain\.com$; if ($invalid_referer) { return 403 "Forbidden"; } # 其他配置... root /var/www/html; index index.html index.htm; } }在这个配置中:
valid_referers指令用于指定允许的Referer值。可以是none(不检查)、blocked(阻止的域名)、server_names(允许的服务器域名)或正则表达式。if ($invalid_referer)指令用于检查Referer是否有效,如果无效则返回403 Forbidden状态码。
-
重启Nginx服务:
保存配置文件并重启Nginx服务以使配置生效。sudo systemctl restart nginx -
测试防盗链配置:
你可以使用浏览器或命令行工具(如curl)来测试防盗链配置是否生效。curl -I http://example.com/your-image.jpg --header "Referer: http://allowed-domain.com"如果
Referer是允许的域名,你应该会看到正常的HTTP响应头。如果Referer不在允许的列表中,你会看到403 Forbidden状态码。
通过以上步骤,你可以在CentOS系统中使用Nginx实现防盗链功能。根据你的具体需求,你可以调整valid_referers指令中的域名列表和正则表达式。