一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - Nginx - 詳解nginx 的 default_server 定義及匹配規則

詳解nginx 的 default_server 定義及匹配規則

2020-08-11 22:18big_cat Nginx

這篇文章主要介紹了詳解nginx 的 default_server 定義及匹配規則,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

nginx 的 default_server 指令可以定義默認的 server 去處理一些沒有匹配到 server_name 的請求,如果沒有顯式定義,則會選取第一個定義的 server 作為 default_server。

在了解到如上規則后,我們可以捕獲未做綁定的域名訪問或直接IP訪問,做重定向到403頁面等處理。

1、nginx 隱式的 default server

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
http {
  # 如果沒有顯式聲明 default server 則第一個 server 會被隱式的設為 default server
  server {
    listen 80;
    server_name _; # _ 并不是重點 __ 也可以 ___也可以
    return 403; # 403 forbidden
  }
  
  server {
    listen 80;
    server_name www.a.com;
    ...
  }
  
  server {
    listen 80;
    server_name www.b.com;
    ...
  }
}

很多人復制粘貼廣泛傳播 server_name 要設為 '_',其實一毛錢的關系也沒有。'_' 只是作為一個和業務域名無關的請求回收服務而已,如果我們線上的業務都是明確的業務域名訪問,那泛解析造成的一些非業務域名或ip訪問都會被這個 sever 回收處理。

在沒有顯式定義 default server 時,nginx 會將配置的第一個 server 作為 default server,即當請求沒有匹配任何 server_name 時,此 server 會處理此請求。所以,當我們直接使用 ip 訪問時會被交給此處定義的第一個 server 處理,403 forbidden。

2、顯示的定義一個 default server

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
http {
  server {
    listen 80;
    server_name www.a.com;
    ...
  }
  
  server {
    listen 80;
    server_name www.b.com;
    ...
  }
  
  # 顯示的定義一個 default server
  server {
    listen 80 default_server;
    server_name _;
    return 403; # 403 forbidden
  }
  
}

建議顯示指定 default server,因為我們在配置虛擬主機或多業務時,會存有多個 server 配置文件,如果使用隱式方式選取第一個被載入的 server 作為 default server 的話,我們還要時刻去確認誰是被第一個載入的...制造風險...

3、直接指定server_name 為 ip(只能禁止ip訪問)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
http {
  server {
    listen 80;
    server_name www.a.com;
    ...
  }
  
  server {
    listen 80;
    server_name www.b.com;
    ...
  }
  
  # 直接指定 ip server_name
  server {
    listen 80;
    server_name xxx.xxx.xxx.xxx;
    return 403; # 403 forbidden
  }
  
}

以上三種方式都可禁止 ip 直接訪問,且 1,2 同時可以禁止未綁定域名的訪問(比如你泛解析了主域名)。

小記:nginx 批量載入配置 conf 時會按 ascii 排序載入,這就會以 server_a.conf server_b.conf server_c.conf 的順序載入,如果沒有生命 default_server 的話,那 server_a 會作為默認的 server 去處理 未綁定域名/ip 的請求。

到此這篇關于詳解nginx 的 default_server 定義及匹配規則的文章就介紹到這了,更多相關nginx default_server 匹配規則內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://segmentfault.com/a/1190000015681272

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 青青自拍视频 | 国产精品视频第一区二区 | 青青草精品在线 | 青草影院在线观看 | 国产日本久久久久久久久婷婷 | 99久久精品免费看国产高清 | 52av我爱avhaose01| 99国内精品久久久久久久黑人 | 日韩免费高清完整版 | 无人影院免费观看 | 啊啊啊好爽在线观看 | 免费看美女被靠到爽 | 日韩福利网| 四虎精品成人免费视频 | 十大看黄网站 | 思敏1一5集国语版免费观看 | 80s在线| 国产美女久久久久 | 成年男女免费视频网站 | 国产在线欧美日韩精品一区二区 | 精品久久久久久久久免费影院 | 精品精品国产自在久久高清 | 四虎影视在线永久免费观看 | 521色香蕉网站在线观看 | 398av影院视频在线 | 91亚洲在线 | 四虎成人免费大片在线 | 精品久久成人免费第三区 | 亚洲h片 | 国产高清国内精品福利 | 麻豆视频免费在线观看 | 91啦在线播放 | 91大神在线观看精品一区 | 日本搜子同屋的日子2国语 日本爽p大片免费观看 | 乌克兰成人性色生活片 | 99视频在线国产 | 韩国女主播在线大尺无遮挡 | 国产成人久久精品区一区二区 | 成人国产一区二区 | 日本大尺度动漫在线观看缘之空 | 天堂网在线.www天堂在线资源 |