Apache服务器只响应外部IP

我正在学习Django,并试图在Ubuntu电脑上进行testing。 我决定用Apache和mod_wsgi来提供它。 我得到了大部分工作,但我有一件令我困惑的事情。 我只能从我的外部IP地址访问网站,而不是来自127.0.0.1或我的192.168.xx地址。

/ etc / apache2 / sites-available中的我的django.conf文件是

<VirtualHost *:80> WSGIScriptAlias / /home/username/project ServerName my_external_ip Alias /media/ /home/username/project/media Alias /static/ /home/username/project/static <Directory /home/username/project> Order allow,deny Allow from all </Directory> </VirtualHost> 

如果我将ServerName设置为127.0.0.1,那么只从那里加载页面。 另外我应该补充说,当我从其他位置访问时,它并不完全“不加载”,它只是显示了一个标题为“Index of /”的没有内容的Apache页面。

什么是在所有情况下停止Apache服务页面,以及如何使它服务页面为127.0.0.1等。 有更好的办法,我应该主办吗?

您的答案在于apache2ctl -S – 当HTTP客户端发送的Host头与端口上的其他<VirtualHost>块之一中的ServerNameServerAlias不匹配时,安装的“默认”站点优先。

如果你想让你的Django站点处理到服务器的所有请求,请禁用默认设置:

 a2dissite default 

…然后重新启动Apache。

否则,如果你想让Django接pipe一点点,你可以添加一个ServerAlias<VirtualHost>的configuration中:

 ServerAlias internal.ip external.ip external.dns.name