鍍金池/ 問答/Linux/ 多租戶虛擬主機如何實現(xiàn)?

多租戶虛擬主機如何實現(xiàn)?

問題描述

Github pages 使用了 name-based virtual hosts 技術(shù)了嗎?
在 github pages 這種多用戶使用同一個 ip 下多個域名指向,具體是怎么實現(xiàn)的?

問題出現(xiàn)的環(huán)境背景及自己嘗試過哪些方法

真的是創(chuàng)建一個 github pages 就在服務(wù)器的配置文件中添加一個配置代碼塊同時將編譯好的靜態(tài)文件移動到制定目錄嗎?

期待的結(jié)果?

是不是 github pages 實現(xiàn)這個功能的時候用Java 或者任意的業(yè)務(wù)語言實現(xiàn)了一種“路由”機制?

問題出現(xiàn)的平臺版本及自己嘗試過哪些方法

回答
編輯回答
厭遇

GitHub用的Nginx,可以查一下server_name這個配置項。
Nginx接收到HTTP請求后,處理過程大概如下:

  1. 取出請求的端口
  2. 根據(jù)端口號找到對應的IP地址數(shù)組
  3. 找到對應的IP地址數(shù)組后,再查詢域名hash表,如果沒有找到,就用當前的IP地址所在的配置,如果找到了,使用域名所在的配置

查找域名的規(guī)則是:

  1. 如果有完全匹配的返回完全匹配的域名,如請求域名為www.test.com,server_name配置的值是www.test.com
  2. 如果滿足前向匹配,返回前向匹配的域名,如請求域名為login.test.com,server_name配置的值是*.test.com
  3. 如果滿足后向匹配,返回后向匹配的域名,如請求域名為www.test.org,server_name配置的值是www.test.*
2018年2月9日 12:18
編輯回答
寫榮

google : nginx 動態(tài)配置。

2018年9月9日 00:57