Windows hosts 文件中添加 IP + projecta.hostname.com 的解決方式

問題描述

在 Windows 系統中,當需要將特定的域名(如 projecta.hostname.com)指向某個內網 IP 地址時,通常需要修改 hosts 文件來實現本地 DNS 解析,避免因無法正確解析域名而導致訪問失敗。


解決步驟

1. 以管理員身份打開記事本

  • 在開始菜單中搜尋「記事本」,右鍵點擊並選擇「以管理員身份執行」。

2. 打開 hosts 文件

  • 在記事本中,選擇「檔案」→「開啟」,導航到 C:\Windows\System32\drivers\etc\ 目錄。
  • 在檔案類型中選擇「所有檔案 (.)」,找到並打開 hosts 文件。

3. 添加 IP 與域名映射

在文件末尾添加以下內容:

192.168.x.x projecta.hostname.com

192.168.x.x 替換為目標服務器的內網 IP 地址。

4. 保存並關閉文件

5. 刷新 DNS 緩存(可選)

以管理員身份打開命令提示字元,執行:

ipconfig /flushdns

注意事項

💡
  • 修改 hosts 文件需要管理員權限。
  • 確保 IP 地址和域名正確無誤。
  • 此方法適用於臨時或小範圍內網環境,企業環境建議配置內部 DNS 服務器進行集中管理。

背景原理與補充解析

DNS(域名系統)

  • DNS 負責將域名解析為 IP 地址。
  • hosts 文件是本地 DNS 映射,優先於外部 DNS 查詢。

SNI(Server Name Indication)

  • SNI 允許客戶端在 TLS 握手時告訴服務器它想訪問的域名。
  • 正確的 hosts 映射確保瀏覽器能使用正確的域名作為 SNI。

Nginx 配置與作用

  • Nginx 根據 Host 與 SNI 來匹配 server 區塊。
  • 透過 hosts 映射,Nginx 能接收到正確的域名資訊。

為什麼這樣可以解決問題?

  • 內網 DNS 可能無法解析自定義域名。
  • hosts 文件能強制本地解析到指定 IP。
  • SNI 正確 → Nginx 選對證書與 server block。
  • 整體流程確保 HTTPS 正常運作。

此頁面說明了如何在 Windows hosts 文件中添加 IP 與 projecta.hostname.com 的映射,並補充了 DNS、SNI 及 Nginx 的相關知識。