Apache-2.4

Apache2.4 Raspbian 無法使用 ServerName 訪問 VirtualHosts,只有埠號

  • May 13, 2020

在本地使用命名主機並不重要,因為我需要的主要是外部網路訪問(我已經設置了埠轉發),但我仍然想知道為什麼我可以’ t 使用我定義的 ServerName 訪問 VirtualHost。

我正在研究 Raspberry Pi(基於 Debian 的 Raspbian),但我在 VMWare VM 上的 Ubuntu 18 上遇到了同樣的問題,無論是在眾多作業系統還是 Apache 安裝上。

在我的 Apache.conf 中,我添加了:

ServerName localhost   
NameVirtualHost *:8010

在我的 virtualhost.conf 我有:

<VirtualHost *:8010>
   ServerAdmin admin@example.com
   DocumentRoot /var/www/html/MySite/public
   ServerName www.think.com
   ServerAlias www.think.com
   DirectoryIndex index.php

   ErrorLog /var/log/apache2/concrete5-error_log
   CustomLog /var/log/apache2/concrete5-access_log common
</VirtualHost>

(我嘗試過使用和不使用 ServerAlias)

在我的 ports.conf 中,我添加了:

Listen 8010

最後在我的主機中,我有:

127.0.0.1   localhost
::1     localhost ip6-localhost ip6-loopback
ff02::1     ip6-allnodes
ff02::2     ip6-allrouters

127.0.1.1       raspberrypi
127.0.0.3   www.think.com
127.0.0.2   gci.example.com

我可以通過http://localhost:8010/毫無問題地訪問我的站點,但是無論我做什麼,http://www.think.com 都會始終重定向到 Apache2 預設頁面即使我完全按照 Ubuntu 教程進行操作,我也無法讓命名站點正常工作(https://ubuntu.com/tutorials/install-and-configure-apache#1-overview)。

我還禁用了預設站點,嘗試打開預設站點,兩者的結果相同。

任何幫助表示讚賞!

編輯:更新名稱以使問題更清晰

如果不是預設的 80,則需要指定埠號。

http://www.think.com:8010/

另一種方法是讓 Apache 在埠 80 上偵聽。但是,根據您的描述,Apache 已經在偵聽該埠。為什麼不將您的虛擬主機添加到該 Apache,使用

<VirtualHost *:80>

請參閱基於名稱的虛擬主機

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