域名怎樣找到 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