文章詳情頁
不解的nginx rewrite規則
瀏覽:134日期:2024-06-17 10:22:07
問題描述
上圖是我根據nginx最長匹配原則 配置的簡單范例, 目的是訪問 / 的時候全部拒絕, 但訪問 /hello 的時候能進行正常跳轉. 但是返現, 訪問 /hello 依舊403, 但是重寫日志里面記錄 nginx確實匹配到了我的規則, 為何還是返回給我403呢? 求大神解惑, 不甚感激!
問題解答
回答1:location / 可以匹配到所有的請求
你可以如下修改
location = / { deny all; }
語法規則: location [=|~|~*|^~] /uri/ { … }= 開頭表示精確匹配^~ 開頭表示uri以某個常規字符串開頭,理解為匹配 url路徑即可。nginx不對url做編碼,因此請求為/static/20%/aa,可以被規則^~ /static/ /aa匹配到(注意是空格)。~ 開頭表示區分大小寫的正則匹配~* 開頭表示不區分大小寫的正則匹配!~和!~*分別為區分大小寫不匹配及不區分大小寫不匹配 的正則/ 通用匹配,任何請求都會匹配到
回答2:因為rewrite之后的 /test00 匹配到了 location /
你應該加一個 location ~ ^/test00 并開放訪問權限
相關文章:
1. javascript - 我的站點貌似被別人克隆了, google 搜索特定文章,除了域名不一樣,其他的都一樣,如何解決?2. macos - mac下docker如何設置代理3. 新手 - Python 爬蟲 問題 求助4. 請教各位大佬,瀏覽器點 提交實例為什么沒有反應5. javascript - webapp業務流程基本一致,多套主題(樣式基本不一樣,交互稍有偏差)管理,并且有不斷有新增主題,該如何設計組件化架構?6. javascript - 從mysql獲取json數據,前端怎么處理轉換解析json類型7. dockerfile - 為什么docker容器啟動不了?8. mysql - AttributeError: ’module’ object has no attribute ’MatchType’9. javascript - 學習網頁開發,關于head區域一段腳本的疑惑10. javascript - JS設置Video視頻對象的currentTime時出現了問題,IE,Edge,火狐,都可以設置,反而chrom卻...
排行榜
