新しい Edge UI 用に TLS を構成する

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

http://newue_IP:3001

別の方法として、TLS を使用して Edge UI にアクセスするよう構成することもできます。その場合は次の形式を使用します。

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」に設定する必要があります。「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 名を示します。
  • ロードバランサと New UE は、リクエストに対して同じポート番号(3001 など)を使用する必要がありますMANAGEMENT_UI_PORT を使用して、ロードバランサと New 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 証明書と TLS 鍵をパスフレーズなしの PEM ファイルとして生成します。次に例を示します。

    mykey.pem
    mycert.pem

    TLS 証明書と 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 にログインできなくなった場合は、ブラウザのキャッシュをクリアしてログインを再試行してください。