Nginx的server_name匹配执行顺序
生活随笔
收集整理的這篇文章主要介紹了
Nginx的server_name匹配执行顺序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
由于server_name指令支持通配符和正則表達式,因此在包含多個虛擬主機的配置文件中,可能會出現一個名稱被多個虛擬主機的server_name匹配成功,當遇到這種情況,當前的請求交給誰來處理呢?
server{listen 80;server_name ~^www\.\w+\.com$;default_type text/plain;return 200 'regex_success'; }server{listen 80;server_name www.leon.*;default_type text/plain;return 200 'wildcard_after_success'; }server{listen 80;server_name *.leon.com;default_type text/plain;return 200 'wildcard_before_success'; }server{listen 80;server_name www.leon.com;default_type text/plain;return 200 'exact_success'; }server{listen 80 default_server;server_name _;default_type text/plain;return 444 'default_server not found server'; }結論:
exact_success wildcard_before_success wildcard_after_success regex_success default_server not found server!! No1:準確匹配server_nameNo2:通配符在開始時匹配server_name成功No3:通配符在結束時匹配server_name成功No4:正則表達式匹配server_name成功No5:被默認的default_server處理,如果沒有指定默認找第一個server總結
以上是生活随笔為你收集整理的Nginx的server_name匹配执行顺序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nginx server_name正则表
- 下一篇: Nginx的location指令