1. 域名概念
1.1 二級域名
二級域名是指頂級域名之下的域名, 見下面的例子:
- .com 頂級域名
- xxx.com 一級域名(你花錢申請的)
- [www.xxx.com]二級域名
- blog.xxx.com 二級域名
- 依次類推…
- xxx.com 一級域名(你花錢申請的)
有幾點需要注意下:
- [www.xxx.com是屬于二級域名,不過一般我們把這個域名配置指向一級域名訪問]
- [www.xxxxx.com/news這種形式一般稱之為網(wǎng)站的子頁面子目錄等,并不是二級域名]
1.2 域名泛解析
我們的目的是實現(xiàn)訪問二級域名后轉(zhuǎn)發(fā)請求.首先要實現(xiàn)的是二級域名的配置,一般使用Nginx泛解析來處理. 泛解析即利用通配符*來做次級域名以實現(xiàn)所有的次級域名均指向同一IP地址。
泛解析的用途有:
- 可以讓域名支持無限的子域名(這也是泛域名解析最大的用途)。
- 防止用戶錯誤輸入導(dǎo)致的網(wǎng)站不能訪問的問題。
- 可以讓直接輸入網(wǎng)址登陸網(wǎng)站的用戶輸入簡潔的網(wǎng)址即可訪問網(wǎng)站。
1.3 域名類型

無論記錄類型為啥, 主機記錄都填寫 aaa.xxx.com
-
主機記錄就是域名前綴,常見用法有:
- www:解析后的域名為
www.xxx.com - @:直接解析主域名
xxx.com - *:泛解析,匹配其他所有域名
*.xxx.com
- www:解析后的域名為
-
記錄類型的含義是什么?
A 記錄:地址記錄,用來指定域名的 IPv4 地址(例如
8.8.8.8),如果需要將域名指向一個 IP 地址,就需要添加 A 記錄。CNAME 記錄: 如果需要將域名指向另一個域名,再由另一個域名提供 IP 地址,就需要添加 CNAME 記錄。(github page 就是用的這種)
NS 記錄:域名服務(wù)器記錄,如果需要把子域名交給其他 DNS 服務(wù)商解析,就需要添加 NS 記錄。
AAAA 記錄:用來指定主機名(或域名)對應(yīng)的 IPv6 地址(例如
ff06:0:0:0:0:0:0:c3)記錄。MX 記錄:如果需要設(shè)置郵箱,讓郵箱能收到郵件,就需要添加 MX 記錄。
TXT 記錄:如果希望對域名進行標識和說明,可以使用 TXT 記錄,絕大多數(shù)的 TXT 記錄是用來做 SPF 記錄(反垃圾郵件)。
SRV 記錄:SRV 記錄用來標識某臺服務(wù)器使用了某個服務(wù),常見于微軟系統(tǒng)的目錄管理。主機記錄處格式為:服務(wù)的名字.協(xié)議的類型。例如:
_sip._tcp。隱、顯性 URL 記錄:將一個域名指向另外一個已經(jīng)存在的站點,就需要添加 URL 記錄。
-
記錄值如何填寫?
A 記錄:填寫您服務(wù)器 IP,如果您不知道,請咨詢您的空間商。
CNAME 記錄:填寫空間商給您提供的域名,例如:
2.com。MX 記錄:填寫您郵件服務(wù)器的 IP 地址或企業(yè)郵箱給您提供的域名,如果您不知道,請咨詢您的郵件服務(wù)提供商。
AAAA 記錄:不常用,解析到 IPv6 的地址。
NS記錄:不常用,系統(tǒng)默認添加的兩個 NS 記錄請不要修改。NS 向下授權(quán),填寫 DNS 域名,例如:
ns3.dnsv3.com。TXT 記錄:記錄值并沒有固定的格式,不過大部分情況下,TXT 記錄是用來做 SPF 反垃圾郵件的。最典型的 SPF 格式的 TXT 記錄例子為 “
v=spf1 a mx ~all”,表示只有這個域名的 A 記錄和 MX 記錄中的 IP 地址有權(quán)限使用這個域名發(fā)送郵件。SRV 記錄:記錄值格式為:優(yōu)先級 權(quán)重 端口 主機名。例如:
0 5 5060 sipserver.example.com。隱、顯性 URL 記錄:記錄值為必須為整的地址(必須帶有協(xié)議、域名,可以包含端口號和資源定位符)。
-
TTL如何填寫
TTL即 Time To Live,緩存的生存時間。指地方 DNS 緩存您域名記錄信息的時間,緩存失效后會再次到 DNSPod 獲取記錄值。我們默認的 600 秒是最常用的,不用修改。
600(10分鐘):建議正常情況下使用 600。
60(1分鐘):如果您經(jīng)常修改 IP,修改記錄一分鐘即可生效。長期使用 60,解析速度會略受影響。
3600(1 小時):如果您 IP 極少變動(一年幾次),建議選擇 3600,解析速度快。如果要修改 IP,提前一天改為 60,即可快速生效。
2. 域名配置
2.1 配置泛解析
去域名提供商那里先配置一個泛解析地址,記錄類型為A.域名指向一個IPv4地址.主機記錄設(shè)置為*.記錄值填寫服務(wù)器公網(wǎng)Ip地址.
配置好后稍微等待一下,然后訪問這個域名.可以隨意輸入任何二級域名,訪問到的都應(yīng)該是頂級域名的內(nèi)容.我這里訪問結(jié)果總是Nginx的默認頁面.

2.2 nginx server_name
nginx http模塊 server模塊的 server_name指令主要用于配置基于名稱的虛擬主機.匹配順序不同結(jié)果不同.
a. 精準的server_name配置,如:
server_name xxx.com www.xxx.com;
b. 以通配符*開始的字符串:
server_name *.xxx.com;
c. 以通配符*結(jié)束的字符串:
server_name www.*;
d. 配置正則表達式:
server_name ~^(?.+)\.xxx\.com$;
匹配順序由上至下,只要有一項匹配以后就會停止搜索.使用時要注意這個順序