簡體   English   中英

Apache VirtualHost:同一IP上的多個站點

[英]Apache VirtualHost : multiple sites on same IP

假設blah.comblah2.com都指向IP = 5.31.111.7的同一服務器。

我想要:

  • 訪問blah.com服務/var/www/site1

  • 訪問blah2.com服務/var/www/site1

  • 訪問5.31.111.7服務/var/www/site2

我試過了

<VirtualHost *:80>
    DocumentRoot /var/www/site1
</VirtualHost>
<VirtualHost 5.31.111.7:80>
   DocumentRoot /var/www/site2
</VirtualHost>

但是現在所有內容都轉到/var/www/site2 ,這不是我想要的。

如何配置VirtualHost ,以使所服務的網站取決於URL?

PS:為什么我應該在/etc/apache2/sites-enabled/000-default而不是/etc/apache2/apache2.conf 我不明白這個sites-enabled sites-available/default / sites-available/default名稱...為什么這么簡單,在Debian上默認有這么多不同的配置文件?

您想要做的就是基於名稱的虛擬主機 ,您將需要

NameVirtualHost *:80

要在端口80上啟用它,對於每個VirtualHost,您需要指定名稱:

<VirtualHost *:80>
ServerName blah2.com
ServerAlias www.blah2.com

DocumentRoot /var/www/site1
</VirtualHost>

請注意,在進行基於名稱的虛擬主機時,SSL / TLS受到限制 ,但是自POODLE之后以來,這還是有一點爭議的,人們還是開始要求使用TLS,因此無論如何,古老的瀏覽器都不是很幸運。

至於配置文件,擁有兩類配置文件非常有用:一類是默認值,程序包更新將覆蓋它們;另一類是本地文件,它不會涉及甚至最好是一個充滿前者和前者的目錄。充滿后者的目錄。 (由於其他軟件包可能要進行配置設置,因此它們都將安裝在前面的位置,並且您應該只在第二個位置更改/覆蓋配置。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM