nginx做反向代理并防盗链

时间:2022-04-16 06:56:40

nginx做反向代理真的非常简单,只需设置location+proxy_pass即可。

防盗链配置有些复杂,需要注意的地方:

  • 在防盗链的location中需要再设置一下proxy_pass(在这里走了一些弯路)
  • 在valid_referers中不要漏写server_names
  • ~表示匹配时忽略大小写

经过实际验证的参考配置如下:

server {
listen 80;
server_name hostname; location / {
location ~ .*\.(jpg|gif|bmp)$ {
valid_referers none blocked ~\.domain1\.com server_names ~\.domain2\.net;
if ($invalid_referer) {
return 403;
}
proxy_pass http://hostname;
} proxy_pass http://hostname;
}
}