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; } }