无法通过本地IP地址访问Ubuntu 12.10上的Web服务器

13

最近我在我的开发机上安装了Ubuntu 12.10,并安装了 Apache 2.2 和 Php 5.3.8、Php 5.2.17 和 MySQL。一切都运行良好,我可以通过127.0.0.1和localhost关键字以及主机名浏览我的网站和项目,但我无法通过本地IP地址(192.168.1.5)访问我的网站或Apache Web服务器。我在带有 Ubuntu 11.10 的笔记本电脑上运行此模型,并可以通过192.168.1.x访问。

如果您对此问题有任何想法,请让我知道您在这个案例中的经验?

非常感谢您的耐心...... Farzam。


寻找Listen指令。它应该类似于Listen 0.0.0.0:80 - cnicutar
7个回答

16

也许您的 Apache 仅绑定到本地主机。请查看 Apache 配置文件(httpd.conf)中的

Listen 127.0.0.1:80

并用以下内容替换:

Listen 80
或者
Listen *:80

还要检查防火墙设置,在同一文件中查找下面的行:

Allow from 127.0.0.1

尝试将其更改为:

Allow from all

从几个版本开始,/etc/apache2/httpd.conf文件已经为空,并且只是出于遗留原因而存在。现在在12.10中,它似乎已经消失了。配置是在子目录sites-available、mods-available中完成的。 - farzam
我检查了httpd.conf并将其修改为Listen *:80,但是通过IP对我没有用。无论如何,我都找不到Ubuntu 12.10上的防火墙... - farzam

2

您应该将 listen 行替换为以下内容:

Listen 0.0.0.0:80


1
尝试:

sudo ufw allow from 192.168.1.5

你能解释一下解决方案吗? - Popo
ufw(简单防火墙)sudo dpkg --get-selection | grep ufw 可以告诉您是否已安装。如果已安装,那么这篇文章对您来说是一个不错的阅读材料: http://www.tecmint.com/how-to-install-and-configure-ufw-firewall/ - knighted

0

在我的情况下,我使用NestJS工作,并且以前我像这样运行我的项目:app.listen(3001)。首先,我更改为这个:app.listen(3001,'192.168.xx.xx')

现在我想通过网络(LAN)上的IP访问我的项目,因此它不允许我们在IP地址之后访问任何特定端口,这意味着如果我访问192.198.xx.xx,那么我可以访问该地址。

但是,如果我附加端口,例如192.198.xx.xx:3001,则无法让我访问IP地址,因此在这种情况下,我通过运行以下命令解决了我的问题:

  1. sudo service ufw stop
  2. sudo iptables -nvL
  3. sudo iptables -nvL|less
  4. sudo iptables -F

0

Windows防火墙没有对80端口进行例外处理。 不知何故,IIS可以正常工作,但无法允许Apache使用80端口。即使禁用Windows防火墙服务也无法解决问题。

在Windows中搜索“防火墙”,创建一个新规则。选择端口,输入80,命名为:HTTP或其他名称,保存。重新启动Apache服务。


0
我添加了Directory标签:
                Options Indexes FollowSymLinks
                AllowOverride All
                Require all granted

-1

Windows防火墙没有对端口80进行例外处理。不知何故,IIS可以正常工作,但不允许Apache使用端口80。即使禁用Windows防火墙服务也无法允许它。

在Windows中搜索“防火墙”,创建一个新规则。选择端口,输入80,命名为:HTTP或其他名称,保存。重新启动Apache服务。- 这对我有用。在Win Server 2012上启用了防火墙上的8080端口后(我使用8080端口)。


这个问题与Windows无关。 - Alexander Dmitriev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接