在Ubuntu上配置Nginx防盗链可以通过修改Nginx的配置文件来实现。防盗链的目的是防止其他网站直接链接到你的服务器上的资源(如图片、视频等),从而节省带宽并保护你的资源不被滥用。以下是详细的步骤:
如果你还没有安装Nginx,可以使用以下命令进行安装:
sudo apt update
sudo apt install nginx
编辑Nginx的配置文件,通常位于 /etc/nginx/nginx.conf
或 /etc/nginx/sites-available/default
。你可以使用你喜欢的文本编辑器,例如 nano
或 vim
。
sudo nano /etc/nginx/sites-available/default
在 server
块中添加以下配置:
server {
listen 80;
server_name yourdomain.com;
location / {
root /var/www/html;
index index.html index.htm;
}
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
valid_referers none blocked yourdomain.com *.yourdomain.com;
if ($invalid_referer) {
return 403;
}
}
}
解释:
valid_referers none blocked yourdomain.com *.yourdomain.com;
:允许的引用来源,包括 none
(直接访问)、blocked
(被阻止的来源)以及你的域名和子域名。if ($invalid_referer) { return 403; }
:如果引用来源无效,则返回403 Forbidden状态码。如果你使用的是 nano
,可以按 Ctrl + X
,然后按 Y
确认保存,最后按 Enter
退出。
在重新加载Nginx之前,先测试配置文件是否有语法错误:
sudo nginx -t
如果配置文件没有问题,你会看到类似以下的输出:
nginx: configuration file /etc/nginx/nginx.conf test is successful
重新加载Nginx以应用新的配置:
sudo systemctl reload nginx
现在,尝试从其他网站直接链接到你的资源,应该会收到403 Forbidden响应。
通过以上步骤,你就可以在Ubuntu上成功配置Nginx防盗链了。如果你有多个子域名,可以在 valid_referers
行中添加它们。