Red Hat OpenShift Container Platform上のOpen Liberty 21.0.0.1のリリースノート

Open Liberty 2021

Red Hat OpenShift Container Platform での Open Liberty 2021 リリースノート

概要

本リリースノートには、Red Hat OpenShift Container Platform リリースの Open Liberty 2021 に含まれる新機能、機能拡張、修正、および問題に関する最新情報が含まれています。

第1章 機能

Open Liberty 21.0.0.1 により、新しい nbfOffset 属性を使用できるようになりました これにより、JWT Builder 経由で「not-before」タイムペイロードが可能になりました。また、完全に相対リンクの使用を可能にする HTTP リダイレクトの新しい動作も含まれています。

Open Liberty 21.0.0.1 で以下を行います。

1.1. 21.0.0.1 を使用してアプリケーションを実行します。

Maven を使用している場合、コーディネートは次のとおりです。

<dependency>
    <groupId>io.openliberty</groupId>
    <artifactId>openliberty-runtime</artifactId>
    <version>21.0.0.1</version>
    <type>zip</type>
</dependency>

また、Gradle の場合:

dependencies {
    libertyRuntime group: 'io.openliberty', name: 'openliberty-runtime', version: '[21.0.0.1,)'
}

または、Docker を使用している場合は、以下を行います。

FROM open-liberty

1.1.1. JWT Builder でスケジュールされたペイロード

Open Liberty 21.0.0.1 に新しい jwtBuilder 要素 が強化され、JWT ペイロードの NBF 要求を設定する に使用できる nbfOffset という新しい属性が新たに追加されました。nbfOffset に設定され 時間は現在の時間に追加され、その結果 Json Web Tokens が処理を開始するタイミングを決定します。

jwtBuilder を使用して「not-before」要求を設定 する には、以下を sever .xml 設定ファイルに追加します。

<jwtBuilder nbfOffset="1800s" />

JWT が現在発行された場合、トークンは現在の時刻から 1800 秒経過した後しか使用できません。

jwtBuilderjwt-1.0 機能の一部で、この機能をプロジェクトに追加するには、以下を server.xml に追加します。

<server>
  <featureManager>
    <feature>jwt-1.0</feature>
  </featureManager>
</server>

詳細:

1.2. HTTP リダイレクトの相対リンク

Open Liberty 21.0.0.1 は servlet-4.0 機能の拡張です。Open Liberty では sendRedirect () 内にクライアントを元のページから新しいページまたは場所に転送するために sendRedirect()が使用されます。以前のリリースでは、Open Liberty は常に sendRedirect () 関数の提供される相対 URL を絶対 URL に変換していました。これにより、リバースプロキシーサーバーの利点を消費するアプリケーションに問題が発生する可能性がありました。

上記の問題を解決するために、Open Liberty 21.0.0.1 に、相対 リダイレクトリンク から URL を構築するかどうかをアプリケーションに通知する新しい redirecttorelativeurl web コンテナープロパティーが導入されました。このプロパティーは server.xml ファイルで設定できます。

<server>
  ...
    <webContainer redirecttorelativeurl="true"/>
  ...
</server>

詳細:

1.3. 本リリースで修正された主なバグ

以下の問題を含め、21.0.0.1 にバグの修正 をいくつか費やしました。

  • 実行時にコアコンポーネントを再インストールする際のリカバリーの強化

    外部コントリビューターが、サーバー実装を構成する JAR への変更の検出に不具合を報告していました。このような変更が検出されると、JAR を強制的にアンインストールし、再度インストールしていました。ほとんどの場合、ランタイムが適切にリカバリーおよび機能できるようになりました。特定のケースでは、一部のコアコンポーネントが再インストールされ、Liberty が適切にリカバリーされず、一部の Java パッケージがクラスローディングで利用できなくなりました。たとえば、Java 11 では、javax.xml.soap パッケージがアプリケーションクラスローダーで利用できなくなります。

    これが発生した最も一般的な環境は、Open Liberty が OpenShift で 実行されました。この動作は Open Liberty 21.0.0.1 に対して修正されました。

  • OAuth ユーザーレジストリーの検索で誤ったカスタムキャッシュキーが使用される可能性がある

    以前のリリースでは、カスタムユーザーレジストリーを使用する場合、OAuth 認証フロー時に以前認証されたユーザーの Subject が認証キャッシュで見つからない場合がありました。認証キャッシュからユーザー要求の取得に使用されるキャッシュキーはレルムおよびユーザー名を基にしていますが、正しいキャッシュキーは OAuth プロバイダー名と OAuth トークンオブジェクトの組み合わせである可能性があります。動作が修正され、適切なキャッシュキーが使用されるはずです。

    詳細は、『 Open Liberty Documentation』を参照してください

  • Add HTTP/2 IOException for misBhaving client error case(クライアントエラーケースの HTTP/2 IOException を追加)

    以前は、接続エラーが原因で終了した接続で HTTP ヘッダーの書き込みを試みると、HTTP/2 チャネルが NullPointerException をスローすることができました。Open Liberty 21.0.0.1 以降、このシナリオにおいて、HTTP/2 チャネルによりより有用な IOException が発生するようになりました。HTTP/2 に対する Open Liberty のサポートについて参照し てください。

  • CONTAINER_NAME env 変数が logstashCollector-1.0 に反映されていない

    Open Liberty 20.0.0.9 以降、logstashCollector -1.0 機能によって作成された JSON ログは環境変数 CONTAINER_NAME に設定された値を適切に反映しません。CONTAINER_NAME に設定された値は JSON ログの serverName フィールドに反映される必要がありますが、代わりに wlp.server.name からのデフォルトサーバー名 が表示されます。この動作は Open Liberty 21.0.0.1 に対して修正され、詳細は Logstash Collector Documentation を参照してください。

  • サーバーの停止時に ACME Certificate Checker Task を停止する

    Open Liberty 20.0.0.10 に、ACME(Automatic Certificate Management Environment)プロトコルのサポートが追加され ACME 認証局からブラウザーで信頼されている TLS 証明書の自動取得が可能になりました。本リリースでは、サーバーが停止フェーズに入ると、期限切れまたは取り消された認定を確認するためにバックグラウンドタスクがスケジュールされているバグを解決します。サーバーが停止すると、タスクはキャンセルされるようになりました。ACME プロトコルに対する Open Liberty のサポートについて参照し てください。

  • Open Liberty 向けの MyFaces 2.3.7 の有効化

    Open Liberty の jsf-2.3 機能は、Apache MyFaces JavaServer Faces 実装を使用します。Apache MyFaces 2.3.7 のリリースでは、Apache MyFaces 2.3.7 changelog の詳細について多くの改善点およびバグ修正が追加されました。

  • ID がない場合に Dynacache の初期化の問題

    id 要素が distributedMap 設定にない場合、distributedMap の初期化が NullPointerException で失敗することが確認され まし た。必要な id 要素がないため、クリアメッセージが 表示 されるはずです。これに対応するために、必要に応じて id 要素をマークするように distributedMap 定義 が変更されました。

    設定ランタイムはエラーメッセージを発行するようになりました。

    CWWKG0058E: The element distributedMap with the unique identifier default-0 is missing the required attribute id.

    distributedMap は サービス に配置されません。この新しい動作は、Open Liberty 21.0.0.1 に導入されました。

第2章 解決済みの問題

本リリースで解決した Open Liberty 21.0.0.1 issue を参照して ください。

第3章 修正された CVE

Open Liberty 21.0.0.1 で修正された CVE の一覧は、「 セキュリティーの脆弱性 」を参照してください。

第4章 既知の問題

21.0.0.1 の開発中に見つかったものの、修正されていない問題の一覧を参照してください