網絡基礎字數 1994閱讀時長5 分鐘

域名怎樣找到 VPS:DNS、HTTPS 與反向代理入門

面向新手解釋域名、DNS A 與 AAAA 記錄、連接埠、反向代理、TLS 證書和 HTTPS 如何把瀏覽器請求送到 VPS 上的應用。

在 VPS 本機用 curl http://127.0.0.1:3000 看到網頁,只能證明應用在伺服器內部工作。要讓普通讀者透過 https://example.com 訪問,還需要把域名、DNS、網絡連接埠、反向代理和 HTTPS 串起來。

這些詞經常出現在同一篇教程裡,但它們解決的是不同問題。

一、先看一條完整請求

用戶輸入域名
  ↓ DNS 查詢
得到伺服器 IP
  ↓ TCP 443 + TLS
連接 VPS 上的反向代理
  ↓ 轉發到 127.0.0.1:3000
應用返回頁面

可以把它們理解成:

組件類比真正職責
域名容易記的名稱給網站一個穩定的人類可讀入口
DNS通訊錄把名稱解析成 IP 等記錄
IP 地址建築地址找到互聯網上的主機或網絡接口
連接埠大樓裡的入口編號把連接交給對應網絡服務
反向代理前台接收公網請求並轉給內部應用
TLS 證書可驗證的身份文件讓客戶端驗證域名身份並協商加密連接

DNS 不會保存或傳輸你的網頁,證書也不會把域名「指向」伺服器。每一層都要分別配置和驗證。

二、常見 DNS 記錄是什麼

記錄常見用途新手注意點
A名稱指向 IPv4 地址地址改變時要同步更新
AAAA名稱指向 IPv6 地址伺服器沒配置好 IPv6 就不要留下錯誤記錄
CNAME一個名稱指向另一個名稱通常不能與同名的其他記錄隨意共存
TXT域名驗證、郵件策略等文本不要貼上來源不明的驗證值

例如,想讓 www.example.com 指向一台有公網 IPv4 的 VPS,通常會添加一條 A 記錄。具體名稱、根域寫法和代理開關由 DNS 服務商界面決定,應以它的文檔為準。

DNS 修改不會保證所有人瞬間看到新結果。遞歸解析器和客戶端會按照 TTL 緩存記錄,所以遷移時要預留緩存過渡期,而不是看到自己電腦生效就立刻刪除舊伺服器。

三、為什麼經常需要反向代理

一台 VPS 可以同時運行多個應用,例如:

blog.example.com  → 127.0.0.1:3000
api.example.com   → 127.0.0.1:4000

反向代理(例如 Nginx 或 Caddy)監聽公網的 80/443,根據域名把請求交給不同的內部應用。它還常負責 TLS 終止、請求日誌、壓縮和部分安全限制。

這樣做的好處是,應用不用各自直接暴露公網連接埠。對新手而言,也更容易把「公網入口」和「應用運行」分開排查:

  • 應用先在本機地址驗證;
  • 反向代理再驗證到應用的轉發;
  • 最後才檢查 DNS 和外部 HTTPS。

反向代理不是匿名工具,也不會自動修復應用漏洞。它只是請求鏈條中的一個服務。

四、HTTPS 保護了什麼

HTTPS 是 HTTP 透過 TLS 建立的安全連接。正常驗證成功時,它主要提供:

1. 客戶端可以驗證證書是否對當前域名有效; 2. 傳輸內容經過加密,旁路觀察者不容易直接讀取; 3. 傳輸中內容被篡改時可以被發現。

HTTPS 不會證明網站經營者一定可信,也不會讓有漏洞的應用變安全。它保護的是連接,不是對所有內容作擔保。

Let’s Encrypt 等證書頒發機構可以透過 ACME 自動簽發和續期證書。簽發前需要用選定的挑戰方式證明你控制域名,但不同方式的網絡條件並不相同:

  • HTTP-01 透過指定的 HTTP 路徑驗證,需要驗證伺服器能經公網連接埠 80 訪問;
  • DNS-01 透過 DNS TXT 記錄驗證,不要求 Web 伺服器開放 80 或 443;
  • TLS-ALPN-01 透過連接埠 443 上的特殊 TLS 連接驗證。

新手常見的 Web 伺服器流程會使用 HTTP-01,但應先看所用 ACME 客戶端和部署平台實際選擇了哪一種挑戰,不能把三種條件混成一條規則。

五、適合新手的搭建順序

1. 在 VPS 本機啟動應用,讓它只監聽預期的本機地址; 2. 用本機請求驗證應用內容和連接埠; 3. 安裝並配置來自官方來源的反向代理; 4. 先檢查反向代理配置語法,再啟動或重載; 5. 添加正確的 DNS 記錄,並用公共解析結果複核; 6. 確認防火牆允許網站實際需要的連接埠;如果使用 HTTP-01,驗證期間必須能從公網訪問 80; 7. 透過受信任的 ACME 客戶端申請證書,並核對它使用的挑戰類型; 8. 從 VPS 之外訪問 HTTPS,檢查證書域名、狀態碼和頁面; 9. 驗證自動續期機制,而不是等證書快過期才處理。

選擇 Nginx、Caddy 或其他反向代理時,應跟隨該軟件當前官方文檔,不要混用多年前博客裡的配置片段。

六、常見故障按層排查

域名解析到舊地址

檢查權威 DNS 記錄、TTL 和本地緩存。不要先重裝 Web 服務,因為請求可能根本沒有到新 VPS。

IPv4 正常,部分用戶仍打不開

檢查是否存在錯誤的 AAAA 記錄。支持 IPv6 的客戶端可能優先嘗試它,而你的 VPS 或防火牆並未正確配置 IPv6。

反向代理顯示 502

通常表示前台收到了請求,但無法正常連接後端。檢查應用進程、監聽地址、連接埠和本機請求。

證書申請失敗

先查看 ACME 客戶端選擇的挑戰類型和具體錯誤:HTTP-01 檢查域名解析與公網 80,DNS-01 檢查 TXT 記錄和 DNS API 權限,TLS-ALPN-01 檢查公網 443;同時確認系統時間正常。

HTTPS 正常但應用連接埠也能公網訪問

檢查應用是否監聽所有接口,以及雲防火牆和系統防火牆是否放行了後端連接埠。只需要反向代理訪問時,後端通常不必暴露公網。

七、總結

域名、DNS、HTTPS 和反向代理不是四個互相替代的選項,而是一條請求鏈上的不同崗位:DNS 幫用戶找到 IP,網絡把連接送到 443,TLS 建立經過身份驗證的加密連接,反向代理再把請求交給內部應用。

排查時沿著這條鏈逐層驗證,比反覆「清緩存、重裝、重啟」更可靠。

常見問題

只有 IP,沒有域名,可以使用 HTTPS 嗎?

技術上存在面向 IP 地址證書等不同場景,但普通個人網站通常使用域名證書。域名也讓以後遷移伺服器時不必要求用戶記住新 IP。

DNS 服務商開啟代理後,鏈條會有什麼變化?

客戶端可能先連接 DNS 服務商的邊緣網絡,再由它連接源站。緩存、TLS、真實來源地址和防火牆規則都會多一層,應查看該服務商的當前官方文檔。

證書申請成功後就不用管了嗎?

不是。短期證書依賴自動續期,需要監控續期任務與到期時間,並實際測試續期流程。

參考來源

Share

分享這篇文章