我在 CentOS 7 上。我启动了 Apache HTTP 服务器。我可以在本地机器上输入 IP 地址(在我的情况下是 192.168.1.147)来查看索引页。
如果我在同一无线网络上的另一台机器(Windows 10)上尝试此操作,我会得到以下结果:
This site can’t be reached
192.168.1.147 took too long to respond.
我无法通过 telnet 连接到该机器的 80 端口
Microsoft Telnet> open 192.168.1.147 80
Connecting To 192.168.1.147...Could not open connection to the host, on port 80: Connect failed
但是,我可以从另一台机器 ssh 到该 IP 地址。
我尝试将以下内容放入 httpd.conf 中
Listen 192.168.1.147:80
那也没用。我试过禁用/停止防火墙,但没有用。
似乎什么都没起作用。由于端口 22 上的 ssh 可以访问,所以我认为某个地方对端口 80 的访问被阻止了。
知道我还能尝试什么吗?
答案1
最后,当我执行以下操作时,它起作用了
sudo firewall-cmd --add-service=http --permanent
禁用/停止“firewalld”似乎没有帮助,或者我可能没有正确操作。
sudo firewall-cmd --list-all
给出以下内容:
public (active)
target: default
icmp-block-inversion: no
interfaces: wlp2s0
sources:
services: dhcpv6-client http ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
在我运行该命令之前,http 没有列出。
无需更改 httpd.conf 文件
为了使其适用于 http 和 https,可以运行以下命令
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --reload