各位 ubuntu 爱好者们,大家好。一段时间以来,我一直在尝试在我的服务器(在私有网络上)上打开端口 443,但遇到了问题。它在 ufw 上打开,并且 apache 正在监听该端口,但不知何故,我无法从同一私有网络上的另一台计算机访问该端口(两者都在同一个路由器上)
这里我列出了常用端口故障排除命令的输出。如果您能给我任何帮助,我将不胜感激,谢谢!:)
注意:我正在运行 Ubuntu 13.04(我知道它很旧,但是我有一个项目不允许我升级)。
从服务器 192.168.0.11 443 内部执行 wget 的结果(显然正在连接)
获得https://192.168.0.11--无检查证书
Connecting to 192.168.0.11:443... connected.
WARNING: cannot verify 192.168.0.11's certificate, issued by ‘/C=AT/O=ZeroSSL/CN=ZeroSSL RSA Domain Secure Site CA’:
Unable to locally verify the issuer's authority.
result of wget from machine on the same private network (clearly not connecting)
获得https://192.168.0.11--无检查证书
Connecting to 192.168.0.11:443... failed: Operation timed out.
Retrying.
从服务器内部(服务器 IP)执行 nmap -sT 192.168.0.11 的结果。显然是开放的。
Nmap scan report for 192.168.0.11
Host is up (0.00050s latency).
Not shown: 993 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
1723/tcp open pptp
8009/tcp open ajp13
8080/tcp open http-proxy
8081/tcp open blackice-icecap
Nmap done: 1 IP address (1 host up) scanned in 0.07 seconds
nmap -sT 192.168.0.11 的结果(来自同一私有网络上的客户端)- 端口似乎已关闭
Starting Nmap 7.91 ( https://nmap.org ) at 2021-12-16 09:10 EST
Nmap scan report for 192.168.0.11
Host is up (0.0021s latency).
Not shown: 997 filtered ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
444/tcp closed snpp
Nmap done: 1 IP address (1 host up) scanned in 4.16 seconds
netstat -tlnp 的结果(看起来 apache 已绑定并正在监听)
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1232/mysqld
tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN 1207/mono
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN 2074/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 993/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1061/cupsd
tcp 0 0 0.0.0.0:1723 0.0.0.0:* LISTEN 1248/pptpd
tcp6 0 0 :::8009 :::* LISTEN 1370/java
tcp6 0 0 :::80 :::* LISTEN 27146/apache2
tcp6 0 0 :::8080 :::* LISTEN 1370/java
tcp6 0 0 :::22 :::* LISTEN 993/sshd
tcp6 0 0 ::1:631 :::* LISTEN 1061/cupsd
tcp6 0 0 :::443 :::* LISTEN 27146/apache2
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 1370/java
Result of sudo lsof -iTCP -sTCP:LISTEN -P (looks like apache is listening)
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 993 root 3u IPv4 8811 0t0 TCP *:22 (LISTEN)
sshd 993 root 4u IPv6 8813 0t0 TCP *:22 (LISTEN)
cupsd 1061 root 9u IPv6 1121403 0t0 TCP ip6-localhost:631 (LISTEN)
cupsd 1061 root 10u IPv4 1121404 0t0 TCP localhost:631 (LISTEN)
mono 1207 dekiwiki 5u IPv4 10961 0t0 TCP *:8081 (LISTEN)
mysqld 1232 mysql 10u IPv4 12403 0t0 TCP localhost:3306 (LISTEN)
pptpd 1248 root 6u IPv4 10654 0t0 TCP *:1723 (LISTEN)
java 1370 tomcat 48u IPv6 11175 0t0 TCP *:8080 (LISTEN)
java 1370 tomcat 53u IPv6 11179 0t0 TCP *:8009 (LISTEN)
java 1370 tomcat 72u IPv6 14691 0t0 TCP localhost:8005 (LISTEN)
dnsmasq 2074 nobody 5u IPv4 12631 0t0 TCP aperture:53 (LISTEN)
apache2 27146 root 4u IPv6 1141498 0t0 TCP *:80 (LISTEN)
apache2 27146 root 6u IPv6 1141502 0t0 TCP *:443 (LISTEN)
apache2 27151 www-data 4u IPv6 1141498 0t0 TCP *:80 (LISTEN)
apache2 27151 www-data 6u IPv6 1141502 0t0 TCP *:443 (LISTEN)
apache2 27152 www-data 4u IPv6 1141498 0t0 TCP *:80 (LISTEN)
apache2 27152 www-data 6u IPv6 1141502 0t0 TCP *:443 (LISTEN)
apache2 27153 www-data 4u IPv6 1141498 0t0 TCP *:80 (LISTEN)
apache2 27153 www-data 6u IPv6 1141502 0t0 TCP *:443 (LISTEN)
apache2 27154 www-data 4u IPv6 1141498 0t0 TCP *:80 (LISTEN)
apache2 27154 www-data 6u IPv6 1141502 0t0 TCP *:443 (LISTEN)
apache2 27155 www-data 4u IPv6 1141498 0t0 TCP *:80 (LISTEN)
apache2 27155 www-data 6u IPv6 1141502 0t0 TCP *:443 (LISTEN)
apache2 27158 www-data 4u IPv6 1141498 0t0 TCP *:80 (LISTEN)
apache2 27158 www-data 6u IPv6 1141502 0t0 TCP *:443 (LISTEN)
ufw 状态的结果:
Status: active
To Action From
-- ------ ----
443 ALLOW Anywhere
443/tcp ALLOW Anywhere
444/tcp ALLOW Anywhere
22 ALLOW Anywhere
80 ALLOW Anywhere
443 ALLOW Anywhere (v6)
443/tcp ALLOW Anywhere (v6)
444/tcp ALLOW Anywhere (v6)
22 ALLOW Anywhere (v6)
80 ALLOW Anywhere (v6)
sudo iptables -L 的结果 它是一个很大的输出,所以我把它放在 pastebin 中(我尝试了 sudo iptables -I INPUT 5 -p tcp --dport 443 -j ACCEPT)
答案1
对于那些遇到同样问题的人,我将 apache 更改为端口 8443,并将所有 443 流量转发到 8443。我仍然不知道为什么端口 443 被阻止。它现在可以正常工作了。
当我将 apache 切换到 8443 时,nmap -P 上的 8443 端口打开了。但是当我切换回 443 时,443 端口没有打开。因此显然有某种东西阻止了 443 端口打开。
这可能与我的 Tp-Link Archer AX-60 路由器有关。不确定为什么私有网络内的 443 流量被阻止。