新しい Edge UI の TLS の構成

デフォルトでは、新しい Edge UI にアクセスするには Edge UI ノードの IP アドレスまたは DNS 名とポート 3001 を介した HTTP を使用します。次に例を示します。

http://newue_IP:3001

また、Edge UI への TLS アクセスを構成して、次の形式でアクセスすることもできます。

https://newue_IP:3001

TLS の要件

Edge UI は TLS v1.2 のみをサポートしています。Edge UI で TLS を有効にする場合、ユーザーは TLS v1.2 と互換性のあるブラウザを使用して Edge UI に接続する必要があります。

TLS 構成プロパティ

次のコマンドを実行して、Edge UI の TLS を構成します。

/opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-ssl -f configFile

ここで、configFile は Edge UI のインストールに使用した構成ファイルです。

このコマンドを実行する前に、構成ファイルを編集して TLS の制御に必要なプロパティを設定する必要があります。次の表に、Edge UI の TLS の構成に使用するプロパティを示します。

プロパティ 説明 必須 / 任意
MANAGEMENT_UI_SCHEME

Edge UI へのアクセスに使用するプロトコル(「http」または「https」)を設定します。デフォルト値は「http」です。TLS を有効にするには、「https」に設定します。

MANAGEMENT_UI_SCHEME=https
MANAGEMENT_UI_TLS_OFFLOAD

「n」の場合、Edge UI への TLS リクエストは Edge UI で終端します。MANAGEMENT_UI_TLS_KEY_FILEMANAGEMENT_UI_TLS_CERT_FILE. を設定する必要があります。

「y」の場合、Edge UI への TLS リクエストはロードバランサで終了し、ロードバランサは HTTP を使用してリクエストを Edge UI に転送することを指定します。

TLS をロードバランサで終端した場合でも、Edge UI は元のリクエストが TLS で受信されたことを認識する必要があります。たとえば、一部の Cookie には Secure フラグが設定されています。

MANAGEMENT_UI_SCHEME は「https」に設定する必要があります。そうしないと、MANAGEMENT_UI_TLS_OFFLOAD は無視されます。

MANAGEMENT_UI_SCHEME=https
MANAGEMENT_UI_TLS_OFFLOAD=y
MANAGEMENT_UI_TLS_KEY_FILE

MANAGEMENT_UI_TLS_CERT_FILE

MANAGEMENT_UI_TLS_OFFLOAD=n の場合、TLS 鍵と証明書ファイルの絶対パスを指定します。ファイルはパスフレーズのない PEM ファイル形式で、「apigee」ユーザーが所有する必要があります。

これらのファイルが推奨される場所は次のとおりです。

/opt/apigee/customer/application/edge-management-ui

このディレクトリが存在しない場合は作成します。

MANAGEMENT_UI_TLS_OFFLOAD=y の場合、MANAGEMENT_UI_TLS_KEY_FILEMANAGEMENT_UI_TLS_CERT_FILE. は省略します。Edge UI へのリクエストは HTTP 経由で受信されるため、これらは無視されます。

○(MANAGEMENT_UI_TLS_OFFLOAD=n の場合)
MANAGEMENT_UI_PUBLIC_URIS

MANAGEMENT_UI_TLS_OFFLOAD=n の場合、Edge UI の URL を指定します。

このプロパティは、構成ファイル内の他のプロパティに基づいて設定します。次に例を示します。

MANAGEMENT_UI_PUBLIC_URIS=$MANAGEMENT_UI_SCHEME://$MANAGEMENT_UI_IP:$MANAGEMENT_UI_PORT

ここで

  • MANAGEMENT_UI_SCHEME は、上記のプロトコル(「http」または「https」)を示します。
  • MANAGEMENT_UI_IP は、Edge UI の IP アドレスまたは DNS 名を指定します。
  • MANAGEMENT_UI_PORT は、Edge UI で使用されるポートを指定します。

これらのプロパティの詳細については、新しい Edge UI をインストールするをご覧ください。

MANAGEMENT_UI_TLS_OFFLOAD=y の場合:

  • MANAGEMENT_UI_IP は、Edge UI のロードバランサではなく、ロードバランサの IP アドレスまたは DNS 名を指定します。
  • ロードバランサと新しい UE は、リクエストで同じポート番号(3001 など)を使用する必要がありますMANAGEMENT_UI_PORT を使用して、ロードバランサと新しい UE のポート番号を指定します。

MANAGEMENT_UI_TLS_ALLOWED_CIPHERS

使用可能な TLS 暗号のリストをカンマ区切りまたはスペース区切りの文字列として定義します。

カンマ区切りの文字列:

MANAGEMENT_UI_TLS_ALLOWED_CIPHERS=TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

二重引用符で囲まれたスペース区切りの文字列:

MANAGEMENT_UI_TLS_ALLOWED_CIPHERS="TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"

SHOEHORN_SCHEME

新しい Edge UI をインストールする前に、まず「shoehorn」という名前の基本 Edge UI をインストールします。インストール構成ファイルでは、次のプロパティを使用して、ベース Edge UI へのアクセスに使用されるプロトコル「http」を指定します。

SHOEHORN_SCHEME=http

ベース Edge UI は TLS をサポートしていないため、Edge UI で TLS を有効にする場合でも、このプロパティは「http」に設定する必要があります。

○、[http] に設定

TLS の構成

Edge UI への TLS アクセスを構成するには:

  1. TLS 証明書と鍵をパスフレーズのない PEM ファイルとして生成します。次に例を示します。

    mykey.pem
    mycert.pem

    TLS 証明書と鍵を生成する方法は多数あります。たとえば、次のコマンドを実行して、署名されていない証明書と鍵を生成できます。

    openssl req -x509 -newkey rsa:4096 -keyout mykey.pem -out mycert.pem -days 365 -nodes -subj '/CN=localhost'
  2. 鍵ファイルと証明書ファイルを /opt/apigee/customer/application/edge-management-ui ディレクトリにコピーします。 このディレクトリが存在しない場合は作成します。
  3. 証明書と鍵の所有者を「apigee」ユーザーにします。

    chown apigee:apigee /opt/apigee/customer/application/edge-management-ui/*.pem
  4. Edge UI のインストールに使用した構成ファイルを編集し、次の TLS プロパティを設定します。

    # Set to https to enable TLS.
    MANAGEMENT_UI_SCHEME=https 
    # Do NOT terminate TLS on a load balancer.
    MANAGEMENT_UI_TLS_OFFLOAD=n
    
    # Specify the key and cert. 
    MANAGEMENT_UI_TLS_KEY_FILE=/opt/apigee/customer/application/edge-management-ui/mykey.pem
    MANAGEMENT_UI_TLS_CERT_FILE=/opt/apigee/customer/application/edge-management-ui/mycert.pem
    
    # Leave these properties set to the same values as when you installed the Edge UI:
    MANAGEMENT_UI_PUBLIC_URIS=$MANAGEMENT_UI_SCHEME://$MANAGEMENT_UI_IP:$MANAGEMENT_UI_PORT
    SHOEHORN_SCHEME=http
  5. 次のコマンドを実行して TLS を構成します。

    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-ssl -f configFile

    ここで、configFile は構成ファイルの名前です。

    このスクリプトを実行すると、Edge UI が再起動します。

  6. 次のコマンドを実行して shoehorn を設定し、再起動します。

    /opt/apigee/apigee-service/bin/apigee-service edge-ui setup -f configFile
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

    再起動後、Edge UI は HTTPS を介したアクセスをサポートします。TLS を有効にしても Edge UI にログインできない場合は、ブラウザ キャッシュを消去してもう一度ログインしてみてください。

TLS をロードバランサで終端させる場合の Edge UI の構成

ロードバランサが Edge UI にリクエストを転送する場合、ロードバランサで TLS 接続を終端し、ロードバランサを HTTP 経由で Edge UI に転送することもできます。

ロードバランサで TLS を終端

この構成はサポートされていますが、ロードバランサと Edge UI を適宜構成する必要があります。

TLS をロードバランサで終端させる場合に Edge UI を構成するには:

  1. Edge UI のインストールに使用した構成ファイルを編集し、次の TLS プロパティを設定します。

    # Set to https to enable TLS
    MANAGEMENT_UI_SCHEME=https
    # Terminate TLS on a load balancer
    MANAGEMENT_UI_TLS_OFFLOAD=y
    # Set to the IP address or DNS name of the load balancer.
    MANAGEMENT_UI_IP=LB_IP_DNS
    # Set to the port number for the load balancer and Edge UI.
    # The load balancer and the Edge UI must use the same port number.
    MANAGEMENT_UI_IP=3001
    
    # Leave these properties set to the same values as when you installed the Edge UI:
    MANAGEMENT_UI_PUBLIC_URIS=$MANAGEMENT_UI_SCHEME://$MANAGEMENT_UI_IP:$MANAGEMENT_UI_PORT
    SHOEHORN_SCHEME=http
    

    MANAGEMENT_UI_TLS_OFFLOAD=y を設定した場合、MANAGEMENT_UI_TLS_KEY_FILEMANAGEMENT_UI_TLS_CERT_FILE. は省略されます。Edge UI へのリクエストは HTTP 経由で受信されるため、これらは無視されます。

  2. 次のコマンドを実行して TLS を構成します。

    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-ssl -f configFile

    ここで、configFile は構成ファイルの名前です。

    このスクリプトを実行すると、Edge UI が再起動します。

  3. 次のコマンドを実行して shoehorn を設定し、再起動します。

    /opt/apigee/apigee-service/bin/apigee-service edge-ui setup -f configFile
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

    再起動後、Edge UI は HTTPS を介したアクセスをサポートします。TLS を有効にしても Edge UI にログインできない場合は、ブラウザ キャッシュを消去してもう一度ログインしてみてください。

Edge UI で TLS を無効にする

Edge UI で TLS を無効にするには:

  1. Edge UI のインストールに使用した構成ファイルを編集し、次の TLS プロパティを設定します。

    # Set to http to disable TLS.
    MANAGEMENT_UI_SCHEME=http
    
    # Only if you had terminated TLS on a load balancer,
    # reset to the IP address or DNS name of the Edge UI.
    MANAGEMENT_UI_IP=newue_IP_DNS
    
  2. 次のコマンドを実行して TLS を無効にします。

    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-ssl -f configFile

    ここで、configFile は構成ファイルの名前です。

    このスクリプトを実行すると、Edge UI が再起動します。

  3. 次のコマンドを実行して shoehorn を設定し、再起動します。

    /opt/apigee/apigee-service/bin/apigee-service edge-ui setup -f configFile
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

    これで、HTTP 経由で Edge UI にアクセスできるようになりました。 TLS を無効にしても Edge UI にログインできない場合は、ブラウザ キャッシュを消去してもう一度ログインしてみてください。