CentOSファイアウォールはJavaアプリケーションからのGET要求をブロックします。

CentOSファイアウォールはJavaアプリケーションからのGET要求をブロックします。

CentOSサーバーにdockerized Java Webアプリケーションをデプロイしました。アプリケーションはポート80に公開され、最初にサーバーはそのポートに対するすべての要求をブロックします。ポート80で通信を有効にしてこの問題を解決しました。これガイド。

しかし、私のアプリケーションは、主にこれらのエンドポイントに対するGET要求を介して他のAPIに要求します。マイコンピュータではDockerイメージは正常に動作しますが、私のアプリケーションはCentOSサーバー内でこれらの外部APIと通信できません。ファイアウォールをオフにしようとしたところ、アプリケーションは外部APIと再通信し始めました。

これらのリクエストを有効にする方法を見つけようとしましたが、うまくいく方法を見つけることができませんでした。私はネットワーキングやセキュリティ上の問題を経験していないため、検索キーワードを効果的に使用できないようです。

アプリケーションから外部APIへのリクエストを有効にするには、ファイアウォールをどのように設定する必要がありますか?

編集:CentOS 8でFirewallDを使用しています。何が起こっているのかよく分からない。アプリのログに要求された宛先に到達できないと表示されます。

ベストアンサー1

信頼できるファイアウォール領域にDoketインターフェイスを追加する必要があります。

firewall-cmd --zone=trusted --change-interface=docker0
firewall-cmd --zone=trusted --add-masquerade --permanent
firewall-cmd --reload

また、/etc/firewalld/firewalld.confで、ファイアウォールのバックエンドを「nftables」から「iptables」に切り替えるとすぐに機能すると聞きました。

おすすめ記事