−25%

Windows 年繳方案適用,至 10 月 31 日。 檢視方案

EQVPS
開始使用

如何把網域解析到您的 VPS(A、AAAA 和 www)

用 A 和 AAAA 記錄把網域解析到 VPS,處理好 www,用 dig 檢查生效情況,再開啟 HTTPS——以及為什麼 NAT 方案無法對外提供網站。

網域買了,VPS 也有了,瀏覽器卻還是說"無法存取此網站"。缺的那一塊幾乎總是兩條 DNS 記錄,外加一個真正在正確位址上回應的 Web 伺服器。下面是完整的流程,從網域註冊商一直到能用的 HTTPS 小鎖。

開始之前:您的方案能接收網頁流量嗎?

訪客會連線伺服器的 80 和 443 埠,這需要一個有獨立公用 IP 的方案。NAT 方案只轉發您的專屬 SSH 埠,所以沒法在網域上託管網站——我們的文章獨立 IP 還是 NAT 解釋了兩者的區別。小網站在 Nano-IP 上就跑得很好。

1. 找到伺服器的位址

IPv4 和 IPv6 位址都在控制面板的伺服器頁面上。範例裡我們用文件專用位址:

  • IPv4: 203.0.113.10
  • IPv6: 2001:db8::10

2. 建立 DNS 記錄

登入管理網域 DNS 的地方(通常是網域註冊商),新增:

型別名稱值TTL
A@203.0.113.10300
AAAA@2001:db8::10300
CNAMEwwwexample.com.300

@ 表示主網域。300 秒這樣的短 TTL 讓改錯的成本很低;一切正常後可以調到 3600。

如果暫時不想用 IPv6,先別加 AAAA 記錄——原因見第 5 步的提醒。

3. 檢查 DNS 是否生效

別輕信註冊商的"已儲存"提示,直接問 DNS:

dig +short example.com A
dig +short example.com AAAA
dig +short www.example.com
dig +short example.com A @1.1.1.1

最後一行問的是公共解析伺服器,更接近訪客看到的結果。如果傳回的是您的 IP,DNS 就搞定了。

4. 讓伺服器回應

安裝 nginx 並開放埠:

apt update && apt install -y nginx
ufw allow 80/tcp
ufw allow 443/tcp

開啟 http://example.com——應該能看到 nginx 的歡迎頁。現在用免費憑證加上 HTTPS:

apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com

Certbot 會修改 nginx 設定、設定跳轉到 HTTPS,並自動續期憑證。如果 nginx 後面跑的是真正的應用,請按我們的帶 HTTPS 的反向代理指南來做。

5. IPv6 的坑

很多人栽在這裡。您加了 AAAA 記錄,可 nginx 只監聽 IPv4。走 IPv6 的訪客(很多行動網路)會先嚐試 IPv6 位址,然後失敗。請確認 server 塊裡兩行都有:

listen 80;
listen [::]:80;

Ubuntu 上 nginx 的預設設定已經帶了 [::],但自訂設定經常漏掉。找一台有 IPv6 的機器測試:

curl -6 -I https://example.com

常見問題

  • 還是顯示舊 IP: 本機解析器快取了它。等 TTL 過期,或者像上面那樣問 @1.1.1.1。
  • Certbot 超時失敗: 80 埠被擋了,或者 DNS 還沒指向這裡。再檢查一遍 ufw status 和 dig。
  • 不帶 www 能存取,帶 www 不行: 憑證或 server 塊裡沒有包含 www。用兩個名稱重新執行 certbot。

關於反向 DNS

A 和 AAAA 記錄是從名稱到 IP。反向 DNS(PTR)方向相反,而且是在控制面板裡設定,不在註冊商那裡。只有發郵件或某個服務要檢查它時才需要——我們的 PTR 指南有詳細說明。

如果您是第一次把網站放上線,網站使用場景頁面能幫您選設定,網路文件列出了每個方案分配的位址。

常見問題

DNS 多久才能生效?

通常幾分鐘。修改後的記錄在舊 TTL 過期後就會處處可見——TTL 為 300 就是五分鐘。全新註冊的網域可能要更久,因為註冊局需要先發布網域伺服器。

我需要 AAAA 記錄嗎?

只有當您的 Web 伺服器監聽 IPv6 時才需要。如果加了 AAAA 但 nginx 只監聽 IPv4,IPv6 訪客就會遇到連線錯誤。要麼設定 'listen [::]:80' 和 '[::]:443',要麼別加 AAAA。

www 該用 CNAME 還是 A 記錄?

都可以。用 CNAME 指向主網域的話,IP 變了只需改一條記錄。只要確認憑證覆蓋了兩個名稱就行。

NAT 方案能託管網站嗎?

不能直接託管。NAT 方案只轉發您的專屬 SSH 埠,訪客到不了 80 和 443 埠。要在自己的網域上放網站,需要獨立 IP 方案。

反向 DNS 是一回事嗎?

不是。A 和 AAAA 把名稱對映到您的 IP;反向 DNS(PTR)把 IP 映射回名稱。PTR 主要對郵件伺服器重要,而且是在控制面板裡設定,不是在網域註冊商那裡。

評論

目前還沒有評論。歡迎成為第一位。

發表評論

評論在顯示前會經過審核。