Apache-2.2
我可以將子域分配給 IP 地址嗎?
我目前正在從一台伺服器移動到另一台伺服器。我目前正在設置我的 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>
- 確保您的子域指向正確的 IP。
- 確保子域在您的虛擬主機配置中列為主機,伺服器名稱或伺服器別名。
如果其中任何一個都不能解決問題,您將需要向我們提供更多資訊 - 至少發布您的 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 文件對您來說不是一個好的解決方案,您需要為子域創建適當的 DNS
A
或CNAME
記錄。執行此操作的過程超出了此問題的範圍,但其他 ServerFault 文章中應該有大量關於該過程的資訊。