nginx如何處理請求

當請求到達nginx服務器之時?

nginx如何處理請求

如果我們配置文件如下:

server {         listen      80;         server_name example.org www.example.org;         ...     }     server {         listen      80;         server_name example.net www.example.net;         ...     }     server {         listen      80;         server_name example.com www.example.com;         ...     }

1.nginx首先會根據請求信息中的Host進行匹配server_name,選擇對應的server

2.如果請求中Host字段沒有域名形式(即ip形式的訪問網站,如:輸入127.0.0.1 訪問),那么nginx默認選擇第一個server

3.也可以在listen加入default_server 標明默認虛擬服務 ( listen 80 default_server),那么如果找不到server_name ,ngnix會默認選中這個server

如果想匹配不到server_name 后返回錯誤信息,可添加如下server配置

server {     listen    80;     server_name    '';     return '404' }

還一種配置如下 listen 為ip:port

server {     listen    192.168.0.1:80     server_name example.org  *.example.org     ... } server {     listen    192.168.0.1:80     server_name example.net  *.example.net     ... } server {     listen    192.168.0.2:80     server_name example.com  *.example.com     ... }

那么nginx會首先選擇匹配listen一致的,然后再根據Host來匹配server_name,如果匹配不到,可以進行如上默認設置

更多Nginx相關技術文章,請訪問Nginx使用教程欄目進行學習!?

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享