无法从本地网络访问apache上托管的web应用程序



作为一名新手,在我的linux电脑上的apachehttpd中设置mediawiki;要求所有被授予的";已设置。路由器为电脑分配了静态IP 192.168.0.2。电脑的端口80是为任何设备打开的。我参观过http://192.168.0.2/mediawiki/index.php来自主机。它如预期的那样工作。现在,我试图从连接到同一网络的安卓手机访问同一地址,并收到消息";127.0.0.1拒绝连接";铬。我注意到http://192.168.0.2已被替换https://127.0.0.1地址栏中。同样的事情也发生在我手机上的Firefox上。我仍然可以访问http://192.168.0.2从我的手机,它工作得很好。那么,这里发生了什么,如何解决这个问题呢?

编辑:问题解决了。Mediawiki有一个LocalSettings.php文件,它在安装过程中自动创建。它包含一个字段"$wgServer";即";在完全限定的URL中使用的协议和服务器名称";如文档中所示。该值被自动设置为"0";http://127.0.0.1"在安装过程中。因此,每当我试图从手机连接到mediawiki时,我实际上都会被重定向到同一部手机。我将值改为"0";http://192.168.0.2"现在一切都很好!

从您的手机到承载web服务器的pc的连接似乎发生了问题。即使你几乎没有提供任何细节,你的配置看起来也很好:根据你的描述,我怀疑问题出在你的手机或路由器上,因为域和url从192.168.0.2切换到127.0.0.1,协议从http切换到https。

你应该在连接到同一网络的另一台电脑上尝试同样的测试。您可以更好地了解发生了什么,使用curl:从命令行测试连接

$curl-vhttp://192.168.0.2/mediawiki/index.php

如果Web服务器是否请求重定向,输出将为您提供一些详细信息。

我的猜测是,您的apache被配置为侦听127.0.0.1或localhost(这是默认值(。打开httpd.conf或虚拟主机配置文件,然后查找Listen。以下是官方文档中的一些片段:

侦听指令告诉服务器只接受指定端口或地址和端口组合上的传入请求。如果在Listen指令中只指定了一个端口号,则服务器将侦听所有接口上的给定端口。如果给定了IP地址和端口,则服务器将侦听给定的端口和接口。多个侦听指令可用于指定要侦听的多个地址和端口。服务器将响应来自任何列出的地址和端口的请求。

例如,要使服务器接受端口80和端口8000上的连接,请在所有接口上使用:

Listen 80
Listen 8000

要使服务器接受一个接口上的端口80和另一个接口的端口8000上的连接,请使用

Listen 192.0.2.1:80
Listen 192.0.2.5:8000

上的更多信息

https://httpd.apache.org/docs/2.4/bind.html

相关内容

  • 没有找到相关文章

最新更新