アプリケーションを EDAS にデプロイすると、コードで設定した Tomcat ポートが有効にならない場合があります。このトピックでは、問題のトラブルシューティングと修正方法について説明します。
問題
アプリケーションを EDAS にデプロイした後、次の問題が発生する場合があります。
- Spring Boot アプリケーションで application.properties ファイルに設定した Tomcat ポートが有効になりません。
- コンソールで Tomcat ポートを変更した後、インスタンスでリッスンされているプロセスが Tomcat プロセスではありません。
原因
これらの問題はエラーではありません。これらの問題は、EDAS がカナリアリリースを有効にしているために発生します。
EDAS でカナリアリリースが有効になっているすべてのアプリケーションでは、サービスへのリクエストは最初に Tengine にルーティングされます。次に、Tengine はリクエストを Tomcat に転送します。
Tengine が Tomcat ポートを識別できるように、EDAS は Tomcat ポートを 65000 に設定します。これは固定値であり、Tengine が使用されている場合に適用されます。次のコードは設定を示しています。
server.port=28082 // サーバーポートの設定
デフォルトでは、起動パラメータに --server.port=65000
が追加されるため、実際のポート番号は引き続き 65000 です。したがって、Tomcat が起動されているかどうかを確認する場合は、ポート 65000 が Tomcat をリッスンしているかどうかを確認する必要があります。
同様のケースでは、アプリケーションポートを変更すると、Tengine ポートが変更されます。
Tengine ポートが 8080 に変更されても、ポート 65000 は引き続き Tomcat ポートです。