Apache-2.2

我可以將子域分配給 IP 地址嗎?

  • July 3, 2010

我目前正在從一台伺服器移動到另一台伺服器。我目前正在設置我的 apache2。但是在舊伺服器上,我使用了幾個子域。現在我想在新伺服器上測試這些子域,但是 subdomain.xx.xx.xx.xx (subdomain.ip-address) 似乎不起作用。這是不可能的還是只是我弄錯了配置?

我的配置

NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/tld.com
<Directory>
   Options FollowSymLinks
   AllowOverride None
</Directory>
<Directory /var/www/tld.com>
   Options -Indexes FollowSymLinks MultiViews
   AllowOverride None
   Order allow,deny
   allow from all
   # This directive allows us to have apache2's default start page
           # in /apache2-default/, but still have / go to the right place
           #RedirectMatch ^/$ /apache2-default/
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
   AllowOverride None
   Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
   Order allow,deny
   Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined
ServerSignature On

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
   Options Indexes MultiViews FollowSymLinks
   AllowOverride None
   Order deny,allow
   Deny from all
   Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
<VirtualHost *:80>
   ServerAdmin webmaster@localhost
   DocumentRoot /var/www/subdomain
   ServerName subdomain.62.75.145.146
</VirtualHost>
  1. 確保您的子域指向正確的 IP。
  2. 確保子域在您的虛擬主機配置中列為主機,伺服器名稱或伺服器別名。

如果其中任何一個都不能解決問題,您將需要向我們提供更多資訊 - 至少發布您的 apache vhost 配置。

–編輯– 好的,首先,subdomain.62.75.145.146這不是一個有效的 DNS 名稱。您不能只是將任意主機名添加到伺服器的 IP 地址。您需要為此虛擬主機提供專用 IP或**分配有效的 DNS 名稱。如果您只是在進行測試,則可以在客戶端映射到的 hosts 文件中添加一個條目到. 那條線看起來像這樣:subdomain.example.com``62.75.145.146

62.75.145.146    subdomain.example.com

然後subdomain.example.com在您的 VirtualHost 中設置為 ServerName。此時,您應該能夠subdomain.example.com在瀏覽器中訪問,它將從正確的虛擬主機提供服務。

如果 hosts 文件對您來說不是一個好的解決方案,您需要為子域創建適當的 DNSACNAME記錄。執行此操作的過程超出了此問題的範圍,但其他 ServerFault 文章中應該有大量關於該過程的資訊。

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