詳細は次のとおりです。 Apacheベースのサイトにアクセスできます。内部(サーバー内)を介してcurl
アクセスできない外部的に(以下を除いて何も機能しません。ブラウザにアクセスしようとping
しました。) - itcurl
タイムアウト。私はnetcat
、および(で提案されているnetstat
ように)を使用して問題の原因を特定しようとしました。traceroute
iptables
このページ)、しかし役に立たない。
設定は次のとおりですiptables
(アクティブネットワークインターフェイスはですeth1
)。
iptables -L -nv
Chain INPUT (policy DROP 108K packets, 18M bytes)
pkts bytes target prot opt in out source destination
4575 394K fail2ban-ssh tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22
11433 3923K ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
5262 481K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
3 156 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:389
0 0 ACCEPT tcp -- venet0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
0 0 ACCEPT tcp -- venet0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
0 0 ACCEPT tcp -- venet0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
0 0 ACCEPT tcp -- venet0 * 0.0.0.0/0 0.0.0.0/0 tcp dpts:830:831
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1170
3 180 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- venet0 * 10.0.0.0/8 0.0.0.0/0
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED,DNAT
0 0 ACCEPT tcp -- venet0 eth0 0.0.0.0/0 0.0.0.0/0 tcp dpts:830:831
0 0 ACCEPT tcp -- venet0 eth0 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
0 0 ACCEPT tcp -- venet0 eth0 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
0 0 ACCEPT udp -- venet0 eth0 0.0.0.0/0 0.0.0.0/0 udp dpt:53
Chain OUTPUT (policy ACCEPT 15571 packets, 4718K bytes)
pkts bytes target prot opt in out source destination
Chain fail2ban-ssh (1 references)
pkts bytes target prot opt in out source destination
4575 394K RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
答え1
まず、サーバーでiptablesを無効にしてページにアクセスしてみてください。
#service iptables stop
Debian の場合:
#iptables -F
すべてのルールが更新されます。
ポート番号がデフォルト80以外の場合でも、ipを使用してポート番号を指定する必要があります。また、selinuxを許可モードに設定してみてください。
#setenforce 0
Webサービスサーバーがvirtualboxにある場合は、ポート転送も実行する必要があります。
外部ではローカルLANを意味すると思います。
返品
Apache設定ファイル(httpd.conf、apache2.conf、listening.conf ...)でLISTENディレクティブを検索します。 localhostまたは127.0.0.1が表示されたら、サーバーIPで上書きする必要があります。
listen 192.168.1.15:80
これがselinuxの問題であることを確認した後、selinuxを有効にするには、selinuxでhttpdを許可する必要があります。
# setsebool -P httpd_can_network_connect=1
これがiptablesの問題であることを確認し、ipテーブルを有効にしてページにアクセスし続けるには、ファイアウォールでポート80を許可します。
Debian iptablesでhttpとhttpsを許可するには、次のリンクを参照してください。
https://github.com/iahmad-khan/system-admin/blob/master/iptables-debian