我一直在尝试首次设置 CentOS 服务器(曾经设置过 Linux 服务器)。安装过程很顺利,我安装了 LAMPP(以及 x86 所需的依赖项),使用了 lampp 安全工具,然后开始http://192.168.0.112:8888/
使用 elinks。
到目前为止一切顺利...但后来我想从网络中的其他计算机(包括虚拟机的主机)访问服务器。但我无法让它工作并且一直收到 404...
请注意,我在该网络上运行了另一个 Web 服务器(在端口 80 上),因此我在 httpd.conf 中更改为Listen 80
,Listen 8888
并将路由器中的 8888 转发到 CentOS 安装的 IP(静态:192.168.0.112
,根据 ifconfig)。
Ping192.168.0.112
返回:
Ping statistics for 192.168.0.112:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
服务器详细信息:
- CentOS 6.5 最小版本,从 .iso 安装
- LAMPP 1.8.1(通过 apachefriends.org 的 wget)
主人详细信息:
- Windows 8.1 x64
- VirtualBox 正在使用桥接网络适配器(荷兰语翻译:Netwerk 桥接适配器)
有什么办法可以解决这个问题吗?我自己就是一名前端开发人员,因此对网络和服务器还比较陌生,但我真的想涉足后端领域。
现在真的很晚了,所以我要睡觉了。希望明天早上我能对网络/CentOS 的工作原理有一些很好的了解!
提前致谢。
答案1
很可能是 apache 内部的虚拟主机配置。其中有一节会显示“允许来自 [某物]”。确保它显示“允许来自所有人”。
这是我的样子;
<Directory /var/www/>
Options FollowSymLinks
AllowOverride AuthConfig FileInfo Limit
Order allow,deny
allow from all
</Directory>
我个人的意见是根本不使用 xampp。你实际上让事情变得更加困难。只需使用 CentOS 中的本机软件包即可。这里有一个很好的教程(来自快速谷歌搜索)
或者,您可以安装 Ubuntu Server,在安装阶段有一个选项,您可以选中它来安装 LAMP。它将为您下载并安装所有软件包。
祝你好运。
答案2
我也遇到了这个问题。根据您的描述,我运行的设置与您相同。事实证明我已经firewalld
安装并正在运行,因此必须使用以下命令:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
这样我就可以apache
从虚拟机外部访问在虚拟机上运行的服务器。
答案3
运行以下命令:
iptables -I INPUT -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT
为了使更改持久化,请转到 /etc/sysconfig/ 并将以下行添加到 iptables:
-A INPUT -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT
然后,重新启动网络服务器:
service httpd restart
现在您就可以访问 VirtualBox 了。
答案4
听起来你把路由器上的流量转发到了 ,而192.168.0.112
你真正想要的是192.168.0.112:8888
。了解更多有关哪些计算机可以和不能 ping CentOS 计算机、路由器如何配置以将端口转发到它以及 的内容是什么的信息会很有帮助/etc/httpd/conf/httpd.conf
。
此外,您在这个网络上拥有另一个网络服务器也没关系,除非您正在路由到另一个网络并希望能够访问这个网络服务器,而且这两个网络服务器都具有相同的外部 IP。
如果是这种情况,则假设您的“外部” IP 为 ,10.10.10.10
而此路由器的内部 IP 为192.168.0.1
。假设您的 CentOS 网络服务器位于 ,192.168.0.112
如所述,而您的其他服务器位于 ,192.168.0.110
并在端口 处托管网络服务器80
。
因为您希望192.168.0.110
能够为 上的设备提供 HTTP 流量10.10.10.*
,所以您转发10.10.10.10:80
到了192.168.0.110
。但是,这并不意味着您必须在 端口上提供来自 的 Web 流量。只有当您想从需要路由的设备进行访问8888
时,它们才需要 之外的端口。因此在这种情况下,您将继续在 端口上提供网页,并将入站流量从 转发到。192.168.0.112
192.168.0.112
192.168.0.1
80
192.168.0.112
80
10.10.10.10:8888
192.168.0.112:80
最后,您在浏览器中收到404
消息意味着您正在访问某种网络服务器:
404 或 Not Found 错误消息是 HTTP 标准响应代码,表示客户端能够与服务器通信,但服务器找不到所请求的内容。(维基百科)