Edited at

さくらVPS ufwで80番ポートを解放しているのに、外部から接続出来ない。

お題の通り、さくらVPSにubuntu,nginx導入して、ufwにport80追加。

その後、外部からアクセスしようとした所出来なかったのでメモします。:ok_woman_tone1:


結論から言うとufwとiptablesを併用しない。

ufwでせっせとポートを追加していたのですが、さくらVPSではデフォルトのファイアウォールがiptablesを使用しているので、それ以外のを使う場合、iptablesを停止しないといけないらしい。

今回の場合は、ufwを採用しているので使わないiptablesファイルを削除する。

削除ファイルは下記を参考に2ファイル。

参考:


※ さくらのVPSデフォルト設定であるiptables以外のファイアウォールをご利用になりたい場合は、再起動時に設定が2重に反映されてしまう可能性がありますため、/etc/network/if-pre-up.d/iptables の削除が必要となります。あわせて、iptablesのルール情報である /etc/iptables/iptables.rules も不要となりますため削除いただくこと推奨いたします。


さくらのVPS、スタートアップスクリプト「Ubuntu ufw」を更新しました

削除後、再起動して確認すると無事にアクセス出来ました。

反対にipconfigを利用する時はufwを無効化してあげれば良いですね。


まとめ

普段の業務ではインフラ系は中々触らないので解決に時間がかかりましたが、

まずどこが問題なのか、問題では無いのかの切り分けぐらいはさっと行いたい。

今回の場合で言うと以下の切り分けでした。

1. nginxは起動出来ている。

→サーバー内でcurl→レスポンス確認

2. 外部アクセス時nginxのlogに何も記入されてない

→そもそも、nginxにたどり着けていない、そこの手前で問題になっている。