Ubuntu

Apache 虛擬主機不適用

  • September 24, 2018

我正在設置一個需要目錄密碼的虛擬主機。我檢查了以下條目在本地工作,但不在伺服器(Ubuntu)上工作。您是否有任何提示本地和遠端環境之間可能有什麼區別?

<VirtualHost example.com:443>
   ServerName example.com
   ServerAdmin webmaster@localhost
   DocumentRoot /var/www/html

   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined

   <Directory "/var/www/html/public">
       AuthType Basic
       AuthName "Restricted Content"
       AuthUserFile /etc/htpasswd/.htpasswd
       Require valid-user
   </Directory>
</VirtualHost>

伺服器在/etc/apache2/sites-available/文件夾中多了一個虛擬主機,名為 000-default.conf。這個 vhosts 文件和我的一樣,但是沒有 Directory 規範和 *:80 並且沒有 ServerName。

我有 2 個用於伺服器的 DNS-es,我希望其中一個請求密碼。

這就是我在評論中的猜測:當您從 PC 定址伺服器時,您是按名稱這樣做的,因此您正在點擊您粘貼的程式碼。當您在本地處理伺服器時(這是“來自/在同一台機器上”的系統管理員談話),您正在點擊000-default.conf.

您可能可以刪除 symlink /etc/apache2/sites-enabled/000-default.conf,因為從您所說的來看,您似乎希望上述程式碼成為預設虛擬主機,無論您如何定址伺服器,您都將始終獲得該網站。

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