TL;DR
カゴヤVPSを契約して、Webサーバ(nginx)を立てて、ページを公開しようとしたら詰まったのでメモ。
原因はfirewalldで、アンインストールして解決した。
環境
カゴヤVPS KVMインスタンス(2core, 2GB mem)
デフォルトのDebian7 → Debian9にアップグレード済み
nginx がインストール済み
実際の操作
nginxのセットアップ
shell
service nginx start // nginxの起動
systemctl status nginx // nginxの起動確認、activeならok
ufwでポート制限
shell
// rootで実行
apt install ufw // ufwのインストール
systemctl start ufw // ufwの起動
ufw default deny // 全てのポートを閉じる
ufw allow (ssh用のポート) // ssh用のポート確保
ufw allow http // 80/tcpを許可
ufw allow https // 443/tcpを許可
ufw reload // 設定の再読み込み
問題発生
ブラウザでページが開けない。
shell
ufw status // ufwの設定を再確認
設定を確認してみたが、問題は見つからない。
そこで、クライアント側からnmapを実行
shell(クライアント)
nmap (vpsのipアドレス) // サーバの空いているポートを確認
22/tcp open ssh
80/tcp closed http
110/tcp closed pop3
143/tcp closed imap
443/tcp closed https
465/tcp closed smtps
587/tcp closed submission
993/tcp closed imaps
995/tcp closed pop3s
1688/tcp closed nsjtp-data
ここで、ssh用の22番ポートしか空いていないことが判明。
原因を色々探してみる。
shell
iptables -L
~
Chain IN_public_allow (1 references) <- 怪しい
ほにゃらら
~
iptables を見たら、見覚えのない設定がある。
何か他のfwが動いているのでは?となったので、適当に覚えている名前をwhichしていると、firewalldがヒット。
そこで、
shell
apt purge firewalld // firewalldをアンインストール
したら解決した。
まとめ
公式のDebian serverにはデフォルトでfirewalldは入ってなかった?気がするので、カゴヤのデフォルトのDebianイメージは何かしらのカスタマイズがされていたのかもしれない。カゴヤは料金が日割りなのでいろんなVPSが試せてよさみがよさみ。