MedaiWiki 服务器在 Raspberry Pi 上无法公开访问

MedaiWiki 服务器在 Raspberry Pi 上无法公开访问

我在公开访问我在 Raspberry Pi 上设置的 MediaWiki 服务器时遇到了问题。尝试远程访问服务器时出现“连接超时”错误。但是,我的 LAN 上的所有计算机都可以访问它。

这似乎不是我的路由器或端口转发的问题,因为我可以将目标 IP 更改为我的 Macbook 的 IP,并公开访问在其上设置的 Apache 服务器。

我已确保 ufw 处于非活动状态,并使用 iptables 添加允许 HTTP 流量的规则。输出sudo iptables -L如下。

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http state NEW,ESTABLISHED

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere             tcp spt:http state ESTABLISHED

运行netstat -l结果如下:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 *:ssh                   *:*                     LISTEN
tcp        0      0 localhost:postgresql    *:*                     LISTEN
tcp        0      0 localhost:4700          *:*                     LISTEN
tcp        0      0 *:microsoft-ds          *:*                     LISTEN
tcp        0      0 *:afpovertcp            *:*                     LISTEN
tcp        0      0 localhost:mysql         *:*                     LISTEN
tcp        0      0 localhost:6379          *:*                     LISTEN
tcp        0      0 *:netbios-ssn           *:*                     LISTEN
tcp        0      0 *:http                  *:*                     LISTEN
udp        0      0 *:26592                 *:*
udp        0      0 *:mdns                  *:*
udp        0      0 *:42516                 *:*
udp        0      0 *:bootpc                *:*
udp        0      0 raspberrypi:ntp         *:*
udp        0      0 localhost:ntp           *:*

有没有办法记录 Pi 上这个请求的具体情况?

答案1

您可以尝试使用 -v 选项的 iptables - 它将显示迄今为止与特定规则匹配的数据包和字节数,或链的默认操作(作为您的 INPUT DROP 操作)。

另外,在 Raspberry Pi 上启动“tcpdump port 80”。它会显示端口 80 上的所有数据包,甚至在 iptables 丢弃它们之前。另一种可能是“tcpflow -c port 80”,它显示较少的数据包信息,更多的实际 HTTP 流信息。

tcpdump 和 tcpflow 通常都不是默认安装的,因此您必须先安装它们。

相关内容