防盗链是指防止其他网站盗用我们的资源。在 NGINX 中,我们可以通过配置文件来设置防盗链。
解决方案:
1、设置 Access-Control-Allow-Origin
这是一个 CORS (Cross-Origin Resource Sharing)设置,允许跨域资源共享。
- location / {
- add_header Access-Control-Allow-Origin *;
- }
2、设置 Referer
Referer 是 HTTP 头的一部分,表示请求是从哪个页面链接过来的。我们可以通过检查 Referer 值来判断请求是否来自我们自己的网站。
- location / {
- if ($http_referer !~* (www.example.com|localhost)) {
- return 403;
- }
- }
3、设置 Sec-Fetch-Site
Sec-Fetch-Site 是一个安全相关的头,表示请求是从哪个站点发起的。
- location / {
- if ($http_sec_fetch_site != 'same-site') {
- return 403;
- }
- }
4、设置 hotlinking 保护
- location ~* \.(gif|jpg|jpeg|png)$ {
- valid_referers none blocked server_names *.example.com;
- if ($invalid_referer) {
- return 403;
- }
- }
以上就是 NGINX 防盗链的一些常见方法,具体使用哪种方法取决于你的具体需求。