首頁 >運維 >Nginx >nginx如何處理請求

nginx如何處理請求

(*-*)浩
(*-*)浩原創
2019-07-15 11:26:215023瀏覽

當請求到達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使用教學欄位進行學習! 

以上是nginx如何處理請求的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn