80 numaralı bağlantı noktasına uzak konumdan erişilemiyor, ancak yerel olarak çalışıyor mu?


14

Apache ile konfigürasyonda bir linux sunucum var. Ancak uzaktaki bir bilgisayarı kullanarak erişemiyorum.

Normalde sunucuya ssh yapabilirim.

IP tablom:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

netstat-ant

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN
tcp        0      0 SERVERIP:80                 0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:45117               0.0.0.0:*                   LISTEN
tcp        0    196 SERVERIP:22                 MyIP:3149                   ESTABLISHED
tcp        0      0 :::111                      :::*                        LISTEN
tcp        0      0 :::22                       :::*                        LISTEN
tcp        0      0 :::47193                    :::*                        LISTEN

kullanarak Curl SERVERIP:80vecurl localhost:80 apache dan, hem dönüş varsayılan sayfa.

Sorun ne olabilir?

Yanıtlar:


26

Şu anda iptables tarafından engellendiği için 80 numaralı bağlantı noktasında sunucunuza erişimi etkinleştirmeniz gerekir.

sudo /sbin/iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT

Bu, kuralı başlangıçta iptables yapılandırmanıza ekleyecektir. Bunu yaptıktan ve çalışıp çalışmadığını test ettikten sonra, yapılandırmayı bir sonraki sefer başlatıldığında kullanılacak şekilde kaydetmelisiniz,

sudo /sbin/service iptables save

bu, geçerli yapılandırmayı yazacaktır /etc/sysconfig/iptables.

CentOS 7 kullanıyorsanız, FirewallD doğru yolu seçecektir:

güvenlik duvarı-cmd - bölge = genel - add-port = 80 / tcp

Tarayıcınızla çalıştığını doğrulayın ve ardından:

güvenlik duvarı-cmd --zone = public --add-port = 80 / tcp - kalıcı

güvenlik duvarı-cmd --reload

Değişiklikleri kalıcı hale getirmek


1

Iptables kurallarınız yalnızca 22 numaralı bağlantı noktasından gelen bağlantılara izin verir. 80 numaralı bağlantı noktasını da açın.


... ve cmdiptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
onik

... bu doğrudur, ancak çalışmaz, çünkü bu kuralı, daha önce KABUL EDİLMEYEN gelen tüm bağlantıları reddeden kuralın arkasına ekleyecektir.
Paweł Brodacki

Bu doğru, sadece kural dosyasına doğru konuma eklemeye alışkınım, bahsetmeyi unuttum. iptables -D FORWARD -j REJECT --reject-with icmp-host-prohibited, sonra önceki, sonra inkar-all catchrule ileiptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited
onik

0

Varsayılan http hizmetini doğrudan da kullanabilirsiniz

güvenlik duvarı-cmd - kalıcı - bölge = genel - add-service = http

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.