マイクロサービス アーキテクチャ (jhipster) にスプリング ブート アプリケーションをデプロイした後に問題が発生しました。アーキテクチャのプレゼンテーション:
- 保護されたゾーン (ユーザーは Web ブラウザーから使用できません): AdminApp、ServerApp
- DMZ (ユーザーが利用可能): UserApp
AdminApp と UserApp には websocket 実装 (spring-boot-starter-websocket) があります。ServerApp は、イベントを AdminApp/UserApp に送信します。FeignClient ServerApp を使用して、WebSocket イベントをフロントエンドに送信する AdminApp/UserApp から SocketController を呼び出します。
ローカルホストでは正常に動作します。アプリケーションが DMZ なしで 2 つの異なるサーバーにデプロイされている場合も正常に動作します。問題は DMZ で発生します。ServerApp が AdminApp (同じサーバー) にイベントを送信すると動作しますが、ServerApp が UserApp (DMZ を使用する別のサーバー) にイベントを送信すると、エラーが発生します: POST http://UserApp/api/websocket の実行を拒否した接続