在CentOS系统中,使用Nginx进行防盗链设置可以通过配置Nginx的ngx_http_referer_module
模块来实现。以下是详细的步骤:
如果你还没有安装Nginx,可以使用以下命令进行安装:
sudo yum install epel-release
sudo yum install nginx
编辑Nginx的配置文件,通常位于/etc/nginx/nginx.conf
或/etc/nginx/conf.d/default.conf
。你可以创建一个新的配置文件或直接在现有的配置文件中添加防盗链规则。
假设你的网站域名是example.com
,并且你希望允许来自特定域名的请求访问你的图片资源。
server {
listen 80;
server_name example.com;
location /images/ {
valid_referers none blocked server_names example.com www.example.com;
if ($invalid_referer) {
return 403;
}
root /var/www/html;
}
location / {
root /var/www/html;
}
}
valid_referers none blocked server_names example.com www.example.com;
:这行配置指定了允许的引用来源。none
表示没有任何引用来源,blocked
表示被阻止的引用来源,server_names
表示允许的域名列表。if ($invalid_referer)
:如果引用来源无效,则返回403 Forbidden状态码。root /var/www/html;
:指定资源的根目录。保存配置文件后,重新加载Nginx以应用更改:
sudo nginx -s reload
你可以通过浏览器或使用curl
命令来测试防盗链是否生效。
尝试访问你的图片资源,例如:
http://example.com/images/example.jpg
如果引用来源不在允许列表中,你应该会看到403 Forbidden错误。
你可以使用以下curl
命令来测试:
curl -I http://example.com/images/example.jpg
如果引用来源无效,响应头中应该包含HTTP/1.1 403 Forbidden
。
ngx_http_referer_module
模块。通过以上步骤,你可以在CentOS系统中使用Nginx设置防盗链,保护你的资源不被未经授权的访问。