サクッとnginxやテストアプリを立ち上げてもうまくいかずハマったのでメモ。ネットワーク側とUbuntuの両方でポート解放が必要です。
22(ssh)以外は開いていないので、80(http),443(https)なども開ける必要があります。
例としてPort:8081をオープンする手順をメモしておきます。
- 2023/11/15 Ubuntu 22.04でまたハマったので追記
環境
- Ubuntu 20.04.3 LTS / 22.04
- VM.Standard.A1.Flex
OracleCloudよりポート許可の追加
コンピュート→インスタンス→仮想クラウドネットワーク(VCN)→セキュリティリストのイングレスルール
ここが深くて発見するのにまず時間がかかりました...。
これでポートは空くはずなのですが、サーバー側で待ち受けしても外部から通信できていない。
iptablesに追加
悩んでufwをいじったりしていたのですがうまくいかず、検索したところiptableが怪しいことに気づきました(参考サイト)。
sudo nano /etc/iptables/rules.v4
下記のように22と同じように8081を追加
/etc/iptables/rules.v4
...
-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 8081 -j ACCEPT
...
適用させる
sudo iptables-restore < /etc/iptables/rules.v4
以上。
ぶつぶつ
ubuntu普通にインストールしたら特にブロックされて無いので、久しぶりに使うとハマりますね…。(2023/11/15
参考
ここを見てiptableに気づきました。ありがとうございます。