Como configurar o TLS para a nova IU do Edge

Por padrão, você acessa nova interface do Edge sobre HTTP usando o endereço IP ou o nome DNS do nó da UI do Edge e a porta 3001. Exemplo:

http://newue_IP:3001

Como alternativa, é possível configurar o acesso TLS à interface do Edge para que você pode acessá-lo no formulário:

https://newue_IP:3001

Requisitos de TLS

A interface do Edge só é compatível com o TLS v1.2. Se você ativar o TLS na interface do Edge, os usuários precisam se conectar à interface do Edge usando um navegador compatível com o TLS v1.2.

Propriedades de configuração de TLS

Execute o seguinte comando para configurar o TLS para a interface do Edge:

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

Em que configFile é o arquivo de configuração usado para instalar a interface do Edge.

Antes de executar esse comando, edite o arquivo de configuração para definir as propriedades necessárias que controlam o TLS. A tabela a seguir descreve as propriedades usadas para configurar o TLS para a interface do Edge:

Propriedade Descrição Obrigatório?
MANAGEMENT_UI_SCHEME

Define o protocolo "http" ou "https", usado para acessar a interface do Edge. O valor padrão é "http". Defina-o como "https". para ativar o TLS:

MANAGEMENT_UI_SCHEME=https
Sim
MANAGEMENT_UI_TLS_OFFLOAD

Se for "n", especifica que as solicitações TLS para a interface do Edge são encerradas na interface do Edge. Defina MANAGEMENT_UI_TLS_KEY_FILE e MANAGEMENT_UI_TLS_CERT_FILE.

Se "y", especifica que as solicitações TLS para a interface do Edge são encerradas em um balanceador de carga e que o balanceador de carga encaminha a solicitação para a interface do Edge usando HTTP.

Se você encerrar o TLS no balanceador de carga, a interface do Edge ainda precisará estar ciente de que a solicitação original veio por TLS. Por exemplo, alguns cookies têm uma flag "Secure" definida.

Defina MANAGEMENT_UI_SCHEME como "https" Caso contrário, MANAGEMENT_UI_TLS_OFFLOAD será ignorado:

MANAGEMENT_UI_SCHEME=https
MANAGEMENT_UI_TLS_OFFLOAD=y
Sim
MANAGEMENT_UI_TLS_KEY_FILE
MANAGEMENT_UI_TLS_CERT_FILE

Se MANAGEMENT_UI_TLS_OFFLOAD=n, especifica o caminho absoluto para os arquivos de chave TLS e certificado. Os arquivos precisam estar no formato PEM sem senha longa e ser de propriedade da Apigee usuário.

O local recomendado para esses arquivos é:

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

Se esse diretório não existir, crie-o.

Se for MANAGEMENT_UI_TLS_OFFLOAD=y, omita MANAGEMENT_UI_TLS_KEY_FILE e MANAGEMENT_UI_TLS_CERT_FILE. Elas são ignoradas porque as solicitações para a interface do Edge são feitas por HTTP.

Sim se MANAGEMENT_UI_TLS_OFFLOAD=n
MANAGEMENT_UI_PUBLIC_URIS

Se MANAGEMENT_UI_TLS_OFFLOAD=n, especifica o URL da interface do Edge.

Defina essa propriedade com base em outras propriedades no arquivo de configuração. Exemplo:

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

Em que:

  • MANAGEMENT_UI_SCHEME especifica o protocolo "http". ou "https", conforme descrito acima.
  • MANAGEMENT_UI_IP especifica o endereço IP ou o nome DNS da interface do Edge.
  • MANAGEMENT_UI_PORT especifica a porta usada pela interface do Edge.

Se MANAGEMENT_UI_TLS_OFFLOAD=y:

  • MANAGEMENT_UI_IP especifica o endereço IP ou o nome DNS do balanceador de carga, não da interface do Edge.
  • O balanceador de carga e o novo UE precisam usar o mesmo número de porta para solicitações, por exemplo, 3001. Use MANAGEMENT_UI_PORT para especificar o número da porta no balanceador de carga e no novo UE.
Sim
MANAGEMENT_UI_TLS_ALLOWED_CIPHERS

Define a lista de criptografias TLS disponíveis como uma string separada por vírgulas ou espaços.

String separada por vírgulas:

MANAGEMENT_UI_TLS_ALLOWED_CIPHERS=TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

String separada por espaço entre aspas duplas:

MANAGEMENT_UI_TLS_ALLOWED_CIPHERS="TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
Não
SHOEHORN_SCHEME

Antes de instalar a nova interface do Edge, instale a interface base do Edge, chamada shoehorn. O arquivo de configuração de instalação usa a seguinte propriedade para especificar o protocolo "http" usado para acessar a interface básica do Edge:

SHOEHORN_SCHEME=http

A interface do Edge de base não é compatível com TLS. Portanto, mesmo quando você ativa o TLS na interface do Edge, essa propriedade ainda precisa ser definida como "http".

Sim e definido como "http"

Configurar a TLS

Para configurar o acesso TLS à interface do Edge:

  1. Gere o certificado e a chave TLS como arquivos PEM sem senha longa. Exemplo:

    mykey.pem
    mycert.pem

    Há muitas maneiras de gerar um certificado e uma chave TLS. Por exemplo, é possível executar o seguinte para gerar um certificado e uma chave não assinados:

    openssl req -x509 -newkey rsa:4096 -keyout mykey.pem -out mycert.pem -days 365 -nodes -subj '/CN=localhost'
  2. Copie os arquivos de chave e certificado para o diretório /opt/apigee/customer/application/edge-management-ui. Se esse diretório não existir, crie-o.
  3. Verifique se o certificado e a chave pertencem à "apigee" usuário:

    chown apigee:apigee /opt/apigee/customer/application/edge-management-ui/*.pem
  4. Edite o arquivo de configuração usado para instalar a interface do Edge para defina estas propriedades de 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. Execute o seguinte comando para configurar o TLS:

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

    Em que configFile é o nome do arquivo de configuração.

    O script reinicia a interface do Edge.

  6. Execute os comandos abaixo para configurar e reiniciar o shoehorn:

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

    Após a reinicialização, a interface do Edge será compatível com o acesso por HTTPS. Se não for possível fazer login na interface do Edge após ativar o TLS, limpe a cache do navegador e tente fazer login novamente.

Configurar a interface do Edge quando o TLS for encerrado no balanceador de carga

Se você tem um balanceador de carga que encaminha solicitações para a interface do Edge, pode optar por encerrar a conexão TLS no balanceador de carga e depois o balanceador de carga encaminha solicitações para a interface do Edge por HTTP:

Encerrar TLS no balanceador de carga

Esta configuração é compatível mas você precisa configurar o balanceador de carga e a interface do Edge de acordo.

Para configurar a interface do Edge quando o TLS for encerrado no balanceador de carga:

  1. Edite o arquivo de configuração usado para instalar a interface do Edge para defina estas propriedades de 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
    

    Se você definir MANAGEMENT_UI_TLS_OFFLOAD=y, omita MANAGEMENT_UI_TLS_KEY_FILE. e MANAGEMENT_UI_TLS_CERT_FILE.. Elas são ignoradas porque as solicitações para a interface do Edge são feitas por HTTP.

  2. Execute o seguinte comando para configurar o TLS:

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

    Em que configFile é o nome do arquivo de configuração.

    O script reinicia a interface do Edge.

  3. Execute os comandos abaixo para configurar e reiniciar o shoehorn:

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

    Após a reinicialização, a interface do Edge será compatível com o acesso por HTTPS. Se não for possível fazer login na interface do Edge após ativar o TLS, limpe a cache do navegador e tente fazer login novamente.

Desativar TLS na interface do Edge

Para desativar o TLS na interface do Edge:

  1. Edite o arquivo de configuração usado para instalar a interface do Edge para definir a seguinte propriedade 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. Execute o seguinte comando para desativar o TLS:

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

    Em que configFile é o nome do arquivo de configuração.

    O script reinicia a interface do Edge.

  3. Execute os comandos abaixo para configurar e reiniciar o shoehorn:

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

    Agora é possível acessar a interface do usuário do Edge por HTTP. Se não for possível fazer login na interface do Edge após desativar o TLS, limpe a cache do navegador e tente fazer login novamente.