CentOS Virtualbox で Apache にアクセスできない

CentOS Virtualbox で Apache にアクセスできない

開発に使用する Windows ではなく、Linux ボックスですべてのコードなどをテストできるように、CentOS で VirtualBox をセットアップしています。

SSH が動作するようになりました (localhost:2222 に SSH で接続し、VirtualBox のポート 22 にポート転送します)。

私は Apache で同じことをして、Web サーバーを起動しようとしています。

localhost のポート 8888 を CentOS Virtualbox のポート 80 にポート転送しましたが、ブラウザーで localhost:8888 を使っても何もアクセスできないようです。

Apache も確実に実行されています:

ps -e | grep httpd
2108 ? 00:00:00 httpd
2110 ? 00:00:00 httpd
2111 ? 00:00:00 httpd
2112 ? 00:00:00 httpd
2113 ? 00:00:00 httpd
2114 ? 00:00:00 httpd
2115 ? 00:00:00 httpd
2116 ? 00:00:00 httpd
2117 ? 00:00:00 httpd

Iptables:

[root@CentOS /]# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Fri Jan 27 18:26:36 2012
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [32:2278]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Fri Jan 27 18:26:36 2012

Nmap出力:

[root@CentOS conf]# nmap localhost

2012-01-28 00:58 WST に Nmap 5.21 ( http://nmap.org ) を起動しました
ローカルホスト (127.0.0.1) の Nmap スキャン レポート
ホストは稼働しています (遅延 0.0000090 秒)。
ホスト名 localhost は 3 つの IP に解決されます。127.0.0.1 のみスキャンされました
表示されていない: 993 個の閉じたポート
港湾国サービス
22/tcp オープンssh
23/tcp オープン Telnet
25/tcp オープン SMTP
80/tcp オープン http
111/tcp オープン rpcbind
443/tcp オープン https
631/tcp オープンipp

答え1

CentOS のデフォルトのファイアウォールでは、SSH 用にポート 22 のみが許可されていると思います。VirtualBox VM を保護されたネットワーク上で実行していると想定しているため、ファイアウォールを無効にするには、root として次のコマンドを実行しても安全です。

/etc/init.d/iptables stop

これは、Windows ホスト マシンでポート リダイレクトを実行していることを前提としています。iptables を使用してリダイレクトを実行している場合は、リダイレクトも停止されます。/etc/sysconfig/iptables を投稿していただければ、ファイアウォールの設定を調べて、マシンがポート 80 をブロックしているかどうかを確認できます。

答え2

CentOS7 を新規インストールした場合は、Apache をインストールしてサービスを開始した後、次の手順を実行します。

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

これで、ホストから Apache にアクセスできるはずです。

答え3

localhost は使用せず、代わりに IP アドレスを使用してください。

答え4

ポート 8888 に何か他のものがあるか、Windows にファイアウォール (含まれているものを含む) がある可能性があります。

場合によっては、10 回の接続後にローカルの MS-SQL サーバーがブロックされることもあります。想像する必要はありません。ファイアウォールのブロック ログを調べるだけです。

+++

ファイアウォールの拒否ログを見たことがありますか、それともただ唱え続けるだけですか? ほとんどのウイルス対策は、動作によって大量メール送信ワームやその他のマルウェアを阻止しようとします。 McAfee が 30 分以内に 5 通のメールを受信すると Thunderbird をブロックするのと同じように...

関連情報