さくらvpsとapacheでこのサイトにアクセスできませんxxで接続が拒否されました

さくらvpsとapacheで「このサイトにアクセスできませんxxで接続が拒否されました」という以下の画面になりお困りでしょうか?

apacheの再起動は問題なくできているのに、ブラウザでアクセスすると上記のような画面になってしまいます。

apacheのバージョンは2.4です。

ipアドレスと疎通確認

確認ポイントはいくつかありますが、まず、対象のサーバーのipアドレスを確認します。

# ifconfig

というコマンドを打ってください。

以下のように表示されますので、ipアドレスを確認します。

お手元のPCからpingコマンドで確認します。

# ping 160.16.202.xxx

以下のように連続して表示されれば、疎通成功です。

MacBook-Air:~ xxx$ ping 160.16.202.xxx
PING 160.16.202.xxx (160.16.202.xxx): 56 data bytes
64 bytes from 160.16.202.xxx: icmp_seq=0 ttl=48 time=45.575 ms
64 bytes from 160.16.202.xxx: icmp_seq=1 ttl=48 time=80.022 ms
64 bytes from 160.16.202.xxx: icmp_seq=2 ttl=48 time=70.304 ms

netstateで確認する

httpで使用する80番ポートが正常に待ち受けているか確認します。

対象のサーバー内で以下のコマンドを打ってください。

# netstat -ant | grep 80

以下のような結果になれば、80番ポートは正常に待ち受けています。

telnetコマンドで確認する

・apacheは起動している。

・pingで疎通確認している。

・netstateで確認して80番ポートは正常に待ち受けている。

にも関わらずhttpアクセスできないのであれば、ファイアーウォールの設定を疑います。

手元のpcからtelnetコマンドで80番ポートへアクセス可能か確認します。

MacBook-Air:~ xxx$ telnet 160.16.202.xxx 80
Trying 160.16.202.xxx…
telnet: connect to address 160.16.202.xxx: Connection refused

connection refusedと接続失敗しました。

telnetコマンドが使えない場合は以下を参考に使えるようにしてください。

windows : http://www.atmarkit.co.jp/ait/articles/0207/06/news002.html

mac : https://qiita.com/samuraidays/items/b8a3d4a06e2c6c379865

iptablesを確認する

対象サーバー内のファイアーウォールの設定を確認します。

ファイアーウォールとは、なんでもアクセスできないようにアクセス制限している障壁になります。

ファイアーウォールの設定ファイルであるiptablesを確認します。

対象サーバー内で以下のコマンドで確認します。

# cd cd /etc/sysconfig
# vi iptables

以下のような記述になっていました。

22ポート(ssh)しかアクセス許可されていませんでした。

# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-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 -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

80ポート(http)のアクセスも許可する必要があります。

以下を参考に、80ポート、443ポート(https)も許可するようにします。

https://knowledge.sakura.ad.jp/4048/

iptablesの変更が終わったら、以下のコマンドで設定を反映させます。

# service iptables restart

telnetで疎通確認する

再度ローカルPCからtelnetで疎通確認します。

MacBook-Air:~ xxxx$ telnet 160.16.202.xxx 80
Trying 160.16.202.xxx…
Connected to tk2-243-31209.vs.sakura.ne.jp.
Escape character is ‘^]’.

今度は成功しました。

これで、httpからのアクセスも成功するはずです。

それでもどうしてもうまくいかない時は、ホームページ制作をしている弊社までご相談ください。