Apache-2.4

只能在埠 22 上連接到我的 apache Centos 伺服器。可以 SSH 但沒有瀏覽器。執行 DirectAdmin

  • April 14, 2020

我有一個執行 Centos7.1 的遠端 apache 伺服器,但我通常在埠 2222 上使用 DirectAdmin 來管理它。這個問題首先是在我的 SSL 證書過期後出現的。我試圖繼續並更新證書。由於我的 ISP 更改了我的 IP 地址,我的防火牆阻止了我,我在連接到埠 22 和 2222 時遇到了一些問題。在某些時候,我重新啟動了伺服器,我認為那時每個人都無法訪問 80 和 443。但據我所知,我沒有對伺服器上的設置進行任何更改。我已嘗試完全關閉我的防火牆,以消除阻止我的任何潛在防火牆問題。

我在伺服器上有 3 個 IP 地址,有 2 個帳戶和幾個不同的網站。通常我可以登錄到埠 2222 來管理伺服器,但該埠無法訪問,以及通常的埠 80 和 443 來顯示網頁。我已經通過在我的 Mac 上執行埠掃描進行了測試。只能訪問 SSH 埠 22。只有這台伺服器有問題,我可以連接到其他伺服器和網站。

到目前為止,我已經測試了以下內容。

systemctl status httpd - 有一些警告,但在問題出現之前並不重要

[root@svr ssh]# systemctl status httpd
● httpd.service - The Apache HTTP Server
  Loaded: loaded (/etc/systemd/system/httpd.service; enabled; vendor preset: disabled)
  Active: active (running) since Mon 2020-04-13 02:50:04 CEST; 24h ago
 Process: 9675 ExecReload=/usr/sbin/httpd $OPTIONS -k graceful (code=exited, status=0/SUCCESS)
Main PID: 1454 (httpd)
  Status: "Total requests: 1; Idle/Busy workers 100/0;Requests/sec: 8.82e-05; Bytes served/sec:   0 B/sec"
  CGroup: /system.slice/httpd.service
          ├─ 1454 /usr/sbin/httpd -DFOREGROUND
          ├─ 9676 /usr/sbin/httpd -DFOREGROUND
          └─10031 /usr/sbin/httpd -DFOREGROUND

Apr 13 02:50:04 my.server.name httpd[1454]: AH00112: Warning: DocumentRoot [/home/admin/domains/sharedip] does not exist
Apr 13 02:50:04 my.server.name httpd[1454]: AH00112: Warning: DocumentRoot [/home/admin/domains/sharedip] does not exist
Apr 13 02:50:04 my.server.name httpd[1454]: AH00112: Warning: DocumentRoot [/home/admin/domains/sharedip] does not exist
Apr 13 02:50:04 my.server.name httpd[1454]: AH00112: Warning: DocumentRoot [/home/admin/domains/sharedip] does not exist
Apr 13 02:50:04 my.server.name systemd[1]: Started The Apache HTTP Server.
Apr 14 00:11:01 my.server.name httpd[9675]: AH00112: Warning: DocumentRoot [/home/admin/domains/sharedip] does not exist
Apr 14 00:11:01 my.server.name httpd[9675]: AH00112: Warning: DocumentRoot [/home/admin/domains/sharedip] does not exist
Apr 14 00:11:01 my.server.name httpd[9675]: AH00112: Warning: DocumentRoot [/home/admin/domains/sharedip] does not exist
Apr 14 00:11:01 my.server.name httpd[9675]: AH00112: Warning: DocumentRoot [/home/admin/domains/sharedip] does not exist
Apr 14 00:11:01 my.server.name systemd[1]: Reloaded The Apache HTTP Server.

伺服器上的 CURL 確認在這些埠上執行的 apache 伺服器

[root@svr ssh]# curl localhost:80
<html>Apache is functioning normally</html>
[root@svr ssh]# curl localhost:2222
<html>
<head>
<title>DirectAdmin Login</title>
<meta name="robots" content="noindex,nofollow">
<style>
*{ FONT-SIZE: 8.5pt; FONT-FAMILY: verdana; } b { FONT-WEIGHT: bold; } .listtitle { BACKGROUND: #425984; COLOR: #EEEEEE; white-space: nowrap; border-radius: 3px; box-shadow: 1px 1px 3px #727272; } td.list { BACKGROUND: #EEEEEE; white-space: nowrap; } input { border-radius: 3px; padding-left: 4px; padding-right: 4px; } .inset { border: 1px inset #DDDDDD; } #footer { position: fixed; bottom: 0; width: 100%; padding-bottom: 20px; text-align: center; color: #A1A1A1; } #outofsync { font-weight: bold; color: #990000; }</style>
</head>

伺服器上的 Netstat(出於安全原因,將我的伺服器 IP 中的前兩個數字替換為 X)

[root@svr ssh]# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      1484/mysqld         
tcp        0      0 0.0.0.0:587             0.0.0.0:*               LISTEN      2665/exim           
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN      1135/dovecot        
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      1135/dovecot        
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:465             0.0.0.0:*               LISTEN      2665/exim           
tcp        0      0 X.X.60.245:53        0.0.0.0:*               LISTEN      2726/named          
tcp        0      0 X.X.60.243:53        0.0.0.0:*               LISTEN      2726/named          
tcp        0      0 X.X.2.221:53         0.0.0.0:*               LISTEN      2726/named          
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      2726/named          
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      1167/pure-ftpd      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1128/sshd           
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      2726/named          
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      2665/exim           
tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN      1135/dovecot        
tcp        0      0 0.0.0.0:995             0.0.0.0:*               LISTEN      1135/dovecot        
tcp6       0      0 :::587                  :::*                    LISTEN      2665/exim           
tcp6       0      0 :::2222                 :::*                    LISTEN      1151/directadmin    
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::80                   :::*                    LISTEN      1454/httpd          
tcp6       0      0 :::465                  :::*                    LISTEN      2665/exim           
tcp6       0      0 :::21                   :::*                    LISTEN      1167/pure-ftpd      
tcp6       0      0 :::22                   :::*                    LISTEN      1128/sshd           
tcp6       0      0 ::1:953                 :::*                    LISTEN      2726/named          
tcp6       0      0 :::25                   :::*                    LISTEN      2665/exim           
tcp6       0      0 :::443                  :::*                    LISTEN      1454/httpd          
udp        0      0 X.X.60.245:53        0.0.0.0:*                           2726/named          
udp        0      0 X.X.60.243:53        0.0.0.0:*                           2726/named          
udp        0      0 X.X.2.221:53         0.0.0.0:*                           2726/named          
udp        0      0 127.0.0.1:53            0.0.0.0:*                           2726/named          
udp        0      0 127.0.0.1:323           0.0.0.0:*                           762/chronyd         
udp6       0      0 ::1:323                 :::*                                762/chronyd 

伺服器上的 ifconfig

[root@svr ssh]# ifconfig
enp0s31f6: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
       inet X.X.2.221  netmask 255.255.255.255  broadcast X.X.2.221
       inet6 X:X:2a:322::2  prefixlen 64  scopeid 0x0<global>
       inet6 X::X:eff:feee:5e6  prefixlen 64  scopeid 0x20<link>
       ether X:X:0e:ee:05:e6  txqueuelen 1000  (Ethernet)
       RX packets 1321177  bytes 307234082 (293.0 MiB)
       RX errors 0  dropped 0  overruns 0  frame 0
       TX packets 989738  bytes 132392622 (126.2 MiB)
       TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
       device interrupt 16  memory 0xef000000-ef020000  

enp0s31f6:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
       inet X.X.60.243  netmask 255.255.255.248  broadcast X.X.60.247
       ether X:X:0e:ee:05:e6  txqueuelen 1000  (Ethernet)
       device interrupt 16  memory 0xef000000-ef020000  

enp0s31f6:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
       inet X.X.60.245  netmask 255.255.255.248  broadcast X.X.60.247
       ether X:X:0e:ee:05:e6  txqueuelen 1000  (Ethernet)
       device interrupt 16  memory 0xef000000-ef020000  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
       inet 127.0.0.1  netmask 255.0.0.0
       inet6 ::1  prefixlen 128  scopeid 0x10<host>
       loop  txqueuelen 1  (Local Loopback)
       RX packets 229  bytes 22844 (22.3 KiB)
       RX errors 0  dropped 0  overruns 0  frame 0
       TX packets 229  bytes 22844 (22.3 KiB)
       TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

因為我是新來的,所以我不能發表評論——抱歉。

首先註意,我看不到 httpd 在 TCP 上的 80 埠上監聽,只有 TCP6。我的理解是 httpd 只會回答 IPV6 地址。

您應該驗證防火牆是否打開了適當的埠。

使用以下命令查看目前允許的埠;

sudo firewall-cmd --list-all --zone=public

這是假設您的預設區域是公共的。

通過 ssh 你可以打開如下埠;

sudo firewall-cmd --add-port=2222/tcp --zone=public --permanent
sudo firewall-cmd --reload

使用類似的命令打開服務;

sudo firewall-cmd --add-service=http --add-service=https --permanent
sudo firewall-cmd --reload

在確保防火牆允許您需要的埠或服務後,您應該能夠連接。

您說您的 IP 地址發生了變化,但您沒有說明是您(客戶端)還是伺服器地址發生了變化。如果是伺服器,請確保 DNS 指向正確的地址。一個簡單的“ping youdomainname”應該會給你這個問題的答案。

有各種線上埠掃描器可以掃描開放埠,我建議使用一個來確保您的域處於活動狀態並且正確的埠從外部世界開放。

如果以上所有都是正確的,那就是;

  • 埠已打開
  • IP 地址已確認
  • httpd 正在監聽 TCP & TCP6

認為應該為你工作。

引用自:https://serverfault.com/questions/1012184