無法從連接埠 80 存取 apache,可能是由於防火牆配置所致

無法從連接埠 80 存取 apache,可能是由於防火牆配置所致

背景:我的公司為內部基於 Web 的系統儀表板託管兩個伺服器實例:一個開發伺服器和一個生產伺服器。為了增加生產伺服器的安全性,我們通常會停用連接埠 80 並使用不同的連接埠來存取 Web 伺服器。但是,我們的 SSL 憑證即將到期,因此我嘗試重新啟用連接埠 80(以執行 http-01 質詢驗證)。我能夠在我們的開發電腦上啟用並續訂證書,但無法在生產電腦上執行相同的操作。

問題:我無法連接到 Ubuntu 20.04.1 電腦上託管的 Apache Web 伺服器。我探索了許多資源和類似的問題但無濟於事。我已經驗證 Apacheports.conf和 正在偵聽連接000-default.conf埠 80 ufwiptables目前,如果我運行curl http://production.example.com,它會返回“連接被拒絕”。基於此,我似乎正在連接到機器,但有東西阻止了它。除了 UFW 或 iptables 之外,是否有任何服務可能阻止與連接埠 80 的連線?如果需要更多信息,請告訴我!先致謝!

配置/測試
捲曲命令:

$ curl -v http://production.example.com
*   Trying xxx.xxx.xx.xx:80...
* TCP_NODELAY set
* connect to xxx.xxx.xx.xx port 80 failed: Connection refused
* Failed to connect to production.example.com port 80: Connection refused
* Closing connection 0
curl: (7) Failed to connect to production.example.com port 80: Connection refused

UFW 設定:

$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: allow (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
443/tcp                    ALLOW IN    Anywhere                  
443/tcp (v6)               ALLOW IN    Anywhere (v6)             

阿帕契ports.conf000-default.conf

Listen 80

<VirtualHost *:80>
        ServerName production.example.com
        
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
        
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

驗證連接埠 80 是否開啟的命令:

$ sudo lsof -i:80
COMMAND PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
apache2 706     root    4u  IPv6  20604      0t0  TCP *:http (LISTEN)
apache2 752 www-data    4u  IPv6  20604      0t0  TCP *:http (LISTEN)
apache2 759 www-data    4u  IPv6  20604      0t0  TCP *:http (LISTEN)
apache2 764 www-data    4u  IPv6  20604      0t0  TCP *:http (LISTEN)
apache2 767 www-data    4u  IPv6  20604      0t0  TCP *:http (LISTEN)
apache2 774 www-data    4u  IPv6  20604      0t0  TCP *:http (LISTEN)

$ netstat -a | grep http | grep LISTEN
tcp6       0      0 [::]:http               [::]:*                  LISTEN 

類似的問題

- 更新 -
根據評論,我運行了中描述的命令這個問題,但我不確定如何解釋結果:

sudo tcpdump -n host 138.197.97.12 and port 80
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
17:31:56.921857 IP 47.33.203.205.59520 > 138.197.97.12.80: Flags [S], seq 1979773428, win 65535, options [mss 1460,nop,wscale 6,nop,nop,TS val 362696691 ecr 0,sackOK,eol], length 0
17:31:57.936229 IP 47.33.203.205.59520 > 138.197.97.12.80: Flags [S], seq 1979773428, win 65535, options [mss 1460,nop,wscale 6,nop,nop,TS val 362697692 ecr 0,sackOK,eol], length 0
17:32:08.748828 IP 35.190.73.167.80 > 138.197.97.12.4957: Flags [S.], seq 3923531534, ack 2621902277, win 65535, options [mss 1430,sackOK,TS val 2683344831 ecr 873100626,nop,wscale 8], length 0
17:32:16.798047 IP 47.33.203.205.59520 > 138.197.97.12.80: Flags [S], seq 1979773428, win 65535, options [mss 1460,nop,wscale 6,nop,nop,TS val 362715694 ecr 0,sackOK,eol], length 0

相關內容