在一个IP上运行Apache的问题

我目前有一台机器有多个IP地址,但是我希望把Apache限制在其中一个。

我知道这个问题已经在这里问过,但是我遇到了以下问题: 将Apache限制在一个IP上

为了简单起见,可以说我有一个IP,1.1.1.1我希望Apache运行,同时另一个IP,2.2.2.2可用于Apache,但我不希望Apache接触这个IP。

在我的ports.conf中:

Listen 1.1.1.1:80 <IfModule ssl_module> Listen 1.1.1.1:443 </IfModule> <IfModule mod_gnutls.c> Listen 1.1.1.1:443 </IfModule> 

同时,000-default.conf:

 <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> 

使用configuration,启动时没有错误,但是当在浏览器中访问1.1.1.1时,似乎不需要/ var / www / html(默认的Apache2页面),而是使用当前正在运行的其中一个站点IP也是。

另外,使用:

 <VirtualHost 1.1.1.1:80> 

似乎允许您在浏览器中访问1.1.1.1,并在启动时使用此configuration获取/ var / www / html(默认的Apache2页面),但出现此错误:

 [Tue Aug 18 17:34:54.487039 2015] [core:error] [pid 5446] (EAI 2)Name or service not known: AH00549: Failed to resolve server name for 1.1.1.1 (check DNS) -- or specify an explicit ServerName 

我被这个难住了,如果有人能告诉我发生了什么事,那会很好。

…或者指定一个显式的ServerName – 这里就是要点。 您必须在您的configuration中缺lessServerName your.fqdn 。 Ubuntu的httpd默认没有。

<VirtualHost *:80>版本。 创build/etc/apache2/conf-available/servername.conf ,把ServerName your.fqdn那里,运行a2enconf servername ,然后service apache2 reload 。 请记住,还要在每个VirtualHost块中设置ServerName (可以跳过默认值)。

除此之外,你的IPconfiguration似乎很好。 确保000-default.conf已启用( / etc / apache2 / sites-enabled中存在链接)。