久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

web - nginx location 搜索算法問題!?

瀏覽:120日期:2023-08-15 15:30:01

問題描述

先貼出我的server配置:

server { listen 80; server_name xxx; # 1 location = /favicon.ico {root /home/www-data/static;rewrite (.*) /img/designs/admin-favicon.ico; } #2 location = /robots.txt {root /home/www-data/static;rewrite (.*) /admin-robots.txt; } # 3 location / {proxy_pass_header Server;proxy_set_header Host $http_host;proxy_redirect off;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Scheme $scheme;proxy_pass http://127.0.0.1:22222; }}

官方給出的location搜索路徑優先級和算法描述如下:

To find location matching a given request, nginx first checks locations defined using the prefix strings (prefix locations). Among them, the location with the longest matching prefix is selected and remembered. Then regular expressions are checked, in the order of their appearance in the configuration file. The search of regular expressions terminates on the first match, and the corresponding configuration is used. If no match with a regular expression is found then the configuration of the prefix location remembered earlier is used.

按照我的理解,Nginx搜索的時候算法應該是這樣的:

按照請求前綴搜索location最長普通前綴匹配(如果有=修飾符,則直接匹配該location,如果有^~修飾符,則直接使用該location),記住最長匹配location。 繼續按照配置順序搜索正則匹配,如果有,則直接匹配第一個匹配到的location,否則使用普通最長location

也就說,按照我的配置,瀏覽器請求/favicon.ico的時候,應該是直接精準匹配到 1 才對啊,可是每次都匹配到 3。這里請教一下各位,我對Nginx location的理解有沒有偏差?然后為什么我的配置會是這樣的結果?

問題解答

回答1:

按照樓主的方法配置了一下,我這里是可以進到# 1的。我覺得可能是CDN緩存的問題。樓主試試別的文件rewrite或者在沒有CDN的環境下試試。

標簽: web
相關文章:
主站蜘蛛池模板: 图片| 乐都县| 衡东县| 井陉县| 武冈市| 岳西县| 广水市| 启东市| 三明市| 丰城市| 浦县| 来凤县| 云阳县| 安徽省| 栾川县| 莱芜市| 黑山县| 那曲县| 汕尾市| 嘉善县| 乡宁县| 连江县| 从江县| 石门县| 通辽市| 张北县| 永仁县| 祁东县| 长海县| 常德市| 于都县| 泰兴市| 额敏县| 大同县| 育儿| 威信县| 讷河市| 平阳县| 青冈县| 长阳| 朔州市|