鍍金池/ 問答/Linux  HTML/ nginx防盜鏈有效,但是連本地的圖片也一起攔截了

nginx防盜鏈有效,但是連本地的圖片也一起攔截了

在后臺編輯上傳的圖片成功了,但是圖片顯示不了,直接訪問aaa.com/test.png Nginx返回403,
經(jīng)過多次網(wǎng)上搜索答案嘗試之后,無功而返,黔驢技窮。各位大神幫看看咋回事,server段的代碼如下:

server {
        listen       80;
        server_name  aaa.top aaa.top;
        root    /home/aaa/webroot;    
        
        location / {
           root  /home/aaa/webroot;
           proxy_pass http://myser;
        }
        
        #禁止直接訪問tomcat下的WEB-INF目錄
        location ~ ^/(WEB-INF)/ { 
            #deny all; 
            return 404;
        }
        
        location ~* \.(gif|jpg|jpeg|bmp|png|ico|txt|swf|pdf|xls|xlsx|doc|jif|js|css)$ { 
            access_log off;
            expires 24h;
            valid_referers none blocked www.aaa.top aaa.top;
            if ($invalid_referer) {
                return   403;
            }
        
        }

        #禁止訪問這些目錄下的可執(zhí)行文件
        location ~* /(upload|cache)/.*.(php|pl|py|jsp|sh|cgi|asp)$ {
            deny    all;
        }

}

回答
編輯回答
舊酒館

@MrGeneral 我把B段校驗(yàn)Referer的注釋掉了,但是還是403(確認(rèn)重啟成功了);把整個A段去掉的話,就能訪問了,咋弄
圖片描述

2017年6月25日 14:16
編輯回答
疚幼

更新

那就是你的正則錯啦,給你個正則參考參考

location ~ .*\.(gif|jpg|jpeg|png)${
}

你的配置中校驗(yàn)了 Referer,直接訪問圖片地址是不帶 Referer 的,你把 Referer 校驗(yàn)去掉。

2017年2月16日 03:02
編輯回答
眼雜

很有可能是nginx進(jìn)程沒有權(quán)限訪問/home/aaa/webroot
建議看下目錄的權(quán)限和所有者,nginx的運(yùn)行用戶
另外錯誤日志應(yīng)該有詳細(xì)信息

2017年1月25日 09:47