Domain-Name-System
服務多個域的單個 IP 伺服器的 /etc/hosts 條目
執行 Ubuntu 10.04
我的伺服器使用 Apache2 中的命名虛擬主機為 3 個不同的域提供服務。我目前正在使用不同的命名虛擬伺服器來 301 將 www 重定向到非 www 等效項。它工作正常,但我不理解我的 /etc/hosts 文件的正確條目,我認為這對我嘗試設置 Varnish 造成了問題。
我知道我需要 localhost 行
127.0.0.1 localhost localhost.localdomain
我還應該在這裡列出每個域嗎?如在
127.0.0.1 localhost localhost.localdomain example1.com example2.com example3.com
伺服器IP的條目呢?我需要以下行嗎?
< IP.Of.Server > example1.com example2.com example3.com
另外,我是否應該在每一行列出 www.example.com 和 example.com,以便他們進入 Apache 並且它可以處理 301 redir?
我假設這是為了測試,否則您將設置正確的 DNS 記錄,而不是您的
hosts
文件。你想要的是你想用它來呼叫你的網路伺服器的每個名字,來解析你的伺服器的 IP 地址。
如果您從伺服器本身進行測試,那麼您可以將所有內容都指向 127.0.0.1,但當然也可以將其指向您伺服器的實際 IP 地址。
如果您在另一台機器上進行測試,那麼您當然希望每個名稱都解析為伺服器的真實 IP 地址。
語法很簡單:
IP.of.server www.domain.name domain.name IP.of.server www.otherdomain.name otherdomain.name IP.of.server www.anotherdomain.name anotherdomain.name IP.of.server www.yetanotherdomain.name yetanotherdomain.name
…等等。
更新:
當然,ErikA 說的完全正確。伺服器無需修改
hosts
文件即可工作;僅當/當您需要在沒有適當的 DNS 記錄的情況下對其進行測試時,或者如果您想覆蓋它們以將 fe 連接到測試伺服器而不是生產伺服器時,它才有用。