Como configurar o TLS para a nova IU do Edge

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

http://newue_IP:3001

Como alternativa, é possível configurar o acesso TLS à IU do Edge para que você possa acessá-la no formato:

https://newue_IP:3001

Requisitos de TLS

A IU do Edge só é compatível com o TLS v1.2. Se você ativar o TLS na IU do Edge, os usuários precisarão se conectar à IU 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 IU 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 IU 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 IU do Edge:

Propriedade Descrição Obrigatório?
MANAGEMENT_UI_SCHEME

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

MANAGEMENT_UI_SCHEME=https
Sim
MANAGEMENT_UI_TLS_OFFLOAD

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

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

Se você encerrar o TLS no balanceador de carga, a IU do Edge ainda precisará saber 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 for MANAGEMENT_UI_TLS_OFFLOAD=n, especifica o caminho absoluto para os arquivos de chave e certificado TLS. Os arquivos precisam ser formatados como arquivos PEM sem senha longa e pertencer ao usuário "apigee".

O local recomendado para esses arquivos é:

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

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

Se MANAGEMENT_UI_TLS_OFFLOAD=y, omita MANAGEMENT_UI_TLS_KEY_FILE e MANAGEMENT_UI_TLS_CERT_FILE. Eles são ignorados porque as solicitações para a IU do Edge são recebidas por HTTP.

Sim, se MANAGEMENT_UI_TLS_OFFLOAD=n
MANAGEMENT_UI_PUBLIC_URIS

Se MANAGEMENT_UI_TLS_OFFLOAD=n, especifica o URL da IU 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 IU 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 IU do Edge.
  • O balanceador de carga e a nova 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ços 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 básica 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 IU básica do Edge:

SHOEHORN_SCHEME=http

A IU de base do Edge não é compatível com TLS. Portanto, mesmo quando você ativa o TLS na IU 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, execute o comando a seguir 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 ao usuário "apigee":

    chown apigee:apigee /opt/apigee/customer/application/edge-management-ui/*.pem
  4. Edite o arquivo de configuração usado para instalar a IU do Edge para definir as seguintes 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 IU do Edge.

  6. Execute os comandos a seguir 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 IU do Edge será compatível com o acesso por HTTPS. Se não for possível fazer login na IU do Edge depois de ativar o TLS, limpe o processo de cache do navegador e tente fazer login novamente.

Configurar a IU do Edge quando o término de TLS ocorre no balanceador de carga

Se você tiver um balanceador de carga que encaminha solicitações para a IU do Edge, poderá encerrar a conexão TLS no balanceador de carga e, em seguida, fazer com que o balanceador de carga encaminhe solicitações para a IU do Edge por HTTP:

Encerrar o TLS no balanceador de carga

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

Para configurar a IU do Edge quando o término de TLS ocorre no balanceador de carga:

  1. Edite o arquivo de configuração usado para instalar a IU do Edge para definir as seguintes 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.. Eles serão ignorados porque as solicitações para a IU do Edge são recebidas 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 IU do Edge.

  3. Execute os comandos a seguir 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 IU do Edge será compatível com o acesso por HTTPS. Se não for possível fazer login na IU do Edge depois de ativar o TLS, limpe o processo de cache do navegador e tente fazer login novamente.

Desativar o TLS na interface do Edge

Para desativar o TLS na interface do Edge:

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

  3. Execute os comandos a seguir 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 IU do Edge por HTTP. Se não for possível fazer login na IU do Edge depois de desativar o TLS, limpe o processo de cache do navegador e tente fazer login novamente.