在Debian上配置LNMP(Linux, Nginx, MySQL, PHP)以实现防盗链,可以通过以下步骤来完成:
如果你还没有安装Nginx,可以使用以下命令进行安装:
sudo apt update
sudo apt install nginx
编辑Nginx的配置文件,通常位于 /etc/nginx/nginx.conf 或 /etc/nginx/sites-available/default。你可以创建一个新的配置文件或直接编辑现有的。
server {
listen 80;
server_name example.com;
location / {
root /var/www/html;
index index.php index.html index.htm;
# 防盗链配置
valid_referers none blocked server_names ~example.com ~www.example.com;
if ($invalid_referer) {
return 403;
}
# 其他配置...
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据你的PHP版本调整
}
}
在这个配置中:
valid_referers 指令用于指定允许的引用来源。none 表示不允许任何引用,blocked 表示阻止的引用,server_names 表示允许的域名。if ($invalid_referer) 指令用于检查引用是否有效,如果无效则返回403 Forbidden状态码。保存配置文件后,重启Nginx以应用更改:
sudo systemctl restart nginx
你可以通过以下方式测试防盗链是否生效:
你可以根据需要进一步优化防盗链配置,例如:
location 块中,以针对特定资源进行保护。通过以上步骤,你可以在Debian上配置LNMP以实现基本的防盗链功能。