我已经在计算机上安装了 Apache 服务器。我已经设置了它并指定了根文件夹等。当我转到时http://localhost/
,它工作正常,告诉我 Apache 已正确安装。但是,当我在浏览器中输入我的 IP 时,它不起作用并出现“连接超时”错误。我尝试使用路由器配置一切(即端口转发),但无济于事。当我绕过路由器将计算机直接连接到调制解调器时,我可以通过在浏览器中输入我的 IP 来访问根文件夹。但是,根据http://downforeveryoneorjustme.com/
一位试图通过互联网访问根文件夹的朋友的说法,根文件夹无法通过互联网访问。我尝试在 httpd.conf 文件中分别使用 ServerName 和 Listen 指定我的服务器并将 Apache 绑定到我的 IP 地址。仍然无济于事。
有什么想法吗?提前致谢。
答案1
伙计们,我真笨。是我电脑的防火墙。我以为我允许了 80 端口,所以我忽略了它。另外,我遇到的问题实际上指向了另一个来源。但唉,关闭防火墙后,它起作用了,然后我意识到我实际上并没有允许 80 端口。
非常感谢您的回复。
答案2
我本来建议你通过 检查防火墙规则iptables
,但事实上,当你直接连接到网络(即绕过路由器)时,你可以访问你的网站,这说明问题出在路由器上,而不是你的服务器上。当你直接连接到网络时,你的朋友是否能够通过 IP 访问该网站?如果可以,那么路由器上的端口转发规则很可能是罪魁祸首。如果不能,请iptables
通过运行以下命令检查是否是导致问题的原因:
# iptables -L -n | grep 80
您需要以 root 身份执行此操作。
答案3
请提供更多信息,您的操作系统是什么?
您必须验证的第一件事是您的 apache 配置文件httpd.conf
。
如果您已将其绑定到本地主机(又名 127.0.0.1)或者如果您已将其绑定到计算机内可用的所有 IP。
为此,请检查文件中的Listen
指令。VirtualHost
httpd.conf
如果他们是这样的:
Listen 127.0.0.1:80
或者
<VirtualHost 127.0.0.1:80>
它们与您的本地主机 ip 绑定,因此使用您的 ip 将不起作用。
如果不是这种情况,如果您的防火墙有问题,您可能需要禁用防火墙几秒钟或几分钟,并尝试在此期间访问它,以确定防火墙是否阻止了它。
检查完上述内容后,如果您可以使用 IP 从您的计算机访问,但其他连接的人却无法访问,则可能意味着您的 ISP 阻止了低端口 1-1024 的使用,以防止他们的客户端在他们的连接内建立服务器。
答案4
当您能够“通过在浏览器中输入我的 IP 来访问根文件夹”时,这是从您的本地网络内部进行的吗?(假设如此。)
我怀疑你的 ISP 不允许外部通过传入端口 80 访问客户网络。你可以通过将路由器的端口转发设置为将流量引导至你的外部IP:8888到你的计算机的内部 IP:80。
假设您已将 Apache 设置为监听端口 80(默认情况下应如此),并且已将计算机的防火墙配置为通过端口 80 传递流量,这应该可以告诉您是否是您的路由器转发设置或您的 LSP 对其“无服务器”服务条款条款非常认真。