Apache-2.2

配置三級域

  • February 2, 2012

我有一個 Apache 實例為我的伺服器埠 8000 上的站點提供服務(其 ip 為 164.177.156.36)

Listen 8000

<VirtualHost *:8000>
   ServerName lessico.pistacchioso.com
   DocumentRoot /home/pistacchio/sites/lessico/
   [..]

如果我訪問http://164.177.156.36:8000/這將有效

在我的系統資料庫提供程序(與我的伺服器提供程序不同)上,我設置了以下記錄:

在此處輸入圖像描述

pistacchioso.com 是我註冊的域,我希望 lessico.pistacchioso.com 指向http://164.177.156.36:8000/

那些 seeweb.it 伺服器是域註冊的伺服器,我可以將郵件留在那裡(MX),我無法刪除這兩個 NS 記錄(雖然我可以添加其他記錄)。

目前,如果我訪問http://lessico.pistacchioso.com/ ,我仍然可以看到註冊的禮貌頁面。DNS 已經更新,因為 pistacchio.com 顯示 apache 的標準預設頁面。有什麼幫助嗎?謝謝

我可以確認,對我來說:

  • DNS 顯示我希望:
james@bodacious-wired:~$host lessico.pistacchioso.com
lessico.pistacchioso.com is an alias for pistacchioso.com.
pistacchioso.com has address 164.177.156.36
  • 瀏覽到http://164.177.156.36:8000/似乎顯示正確的頁面
  • 瀏覽到http://lessico.pistacchioso.com:8000/顯示相同的頁面
  • 瀏覽http://lessico.pistacchioso.com/節目the default web page for this server.是因為no content has been added, yet.

我認為您在這裡缺少的是您告訴瀏覽器使用該http協議 - 就在網址的前 4 個字元中,http://

瀏覽器理解,除非指定另一個埠號,否則http表示埠 80,因此http://lessico.pistacchioso.com/被解釋為http://lessico.pistacchioso.com:80/. 但是,在您上面提供的程式碼段中,您曾經VirtualHost *:8000告訴 Apache 僅在埠 8000 上偵聽此請求。

這解釋了為什麼http://lessico.pistacchioso.com:8000/有效:您明確告訴瀏覽器使用埠 8000;並且您已經告訴 Apache 監聽埠 8000 以及如何處理那裡收到的請求。

將該行更改為VirtualHost *:80,您將改為在埠 80 上應答流量。您在下一行中的ServerName指令確保只有主機的流量lessico.pisacchioso.com將由該虛擬主機處理 - 所有其他主機名仍將回退到預設虛擬主機,並使用您已經非常熟悉的預設內容:)

編輯添加:

還有一個皺紋。你說:

如果我訪問http://lessico.pistacchioso.com/我仍然會看到註冊的禮貌頁面。DNS 已經更新,因為 pistacchio.com 顯示 apache 的標準預設頁面

這與我看到的不同 - 我在http://lessico.pistacchioso.com/. 我猜你的 DNS 主機在你發帖和我回復之間更新了一些東西;或者您可能還有舊的記錄記憶體。我建議host像我在上面所做的那樣檢查這一點,以確保您看到正確的記錄。

引用自:https://serverfault.com/questions/356074