Ir para o conteúdo

Sites e aliases no Jitterbit App Builder

Visão Geral

Em uma instalação padrão, o App Builder aceita e responde a solicitações HTTP independentemente da URL. Isso é conveniente ao começar, mas pode levar a problemas no futuro. Os problemas surgem devido ao tratamento diferente das URLs.

  • Cookies HTTP podem ser restritos a um caminho específico, por exemplo, /Vinyl. O navegador da web do cliente trata os caminhos de cookies como sensíveis a maiúsculas e minúsculas; o servidor web pode não tratar dessa forma.
  • Da mesma forma, provedores de autenticação externos podem tratar o caminho como sensível a maiúsculas e minúsculas ao validar URLs de redirecionamento, como https://example.com/Vinyl/signin-SAML.
  • Além disso, o navegador da web do cliente não permitirá que o servidor de aplicativos sobrescreva um cookie inseguro com um cookie seguro.

Para evitar esses e outros problemas, os administradores devem tomar medidas para canonizar a URL. Embora isso possa ser alcançado por meio de regras de reescrita do servidor web, o App Builder oferece suporte à canonização de URLs por meio do recurso Sites e Aliases.

Sites

Um site define uma URL canônica. Uma instalação padrão inclui um único site. O site não possui uma URL específica. Em vez disso, a URL é inferida a partir da solicitação HTTP.

É possível definir vários sites e, assim, várias URLs canônicas. Isso pode ser útil, por exemplo, ao emoldurar uma aplicação do App Builder. Veja Emoldurando abaixo.

Apenas um site pode ser configurado como o site "padrão". O site padrão é utilizado ao determinar a URL canônica. Veja Correspondência abaixo.

Aliases

Um site pode ter zero ou mais aliases. Um alias é uma URL alternativa, não canônica, que pode ser usada para acessar a instância do App Builder.

Por exemplo, a instância do App Builder pode ter sido publicada no endereço interno https://machinename/Vinyl antes de ser publicada no endereço externo https://example.com/Vinyl. O endereço interno pode ser configurado como um alias para o endereço externo. Se a opção Redirecionar estiver habilitada, o App Builder redirecionará automaticamente os navegadores dos clientes do endereço interno para o endereço externo.

Configuração

Para gerenciar Sites e Aliases, comece fazendo login no App Builder como administrador e, em seguida:

  1. Mude para o aplicativo App Builder IDE.
  2. No painel Conectar, clique no botão Provedores de Segurança.
  3. No painel Configuração, clique no botão Gerenciar Sites.

Os sites são compostos pelas seguintes propriedades:

  • URL - URL canônica totalmente qualificada. Exemplo: https://example.com/Vinyl.
  • Padrão - Indica se o site é tratado como o site padrão ao corresponder uma solicitação HTTP a um site. Veja Correspondência abaixo.
  • Redirecionar - Indica que o App Builder deve redirecionar os navegadores dos clientes se uma solicitação HTTP corresponder ao site (ou a um dos aliases do site), mas não corresponder à URL canônica. Veja Redirecionar abaixo.
  • Aliases - Lista de URLs alternativas associadas ao site. Estas são usadas para corresponder uma solicitação HTTP a um site. Veja Correspondência abaixo.

Para tornar um site o site "padrão", clique no botão Tornar Padrão. Observe que este botão só é visível se o site não for já o site padrão.

Canonicalização

A canonicalização consiste em duas etapas. Primeiro, o App Builder corresponde a solicitação HTTP a um site. Em seguida, o App Builder redireciona o navegador da web do cliente para a URL canônica, se necessário.

Correspondência

Quando o App Builder recebe uma solicitação HTTP, ele tenta corresponder a URL a um site ou alias. O App Builder começa realizando uma correspondência "solta". Uma correspondência solta considera os seguintes critérios:

  • Host - Nome do host HTTP. Exemplo: example.com
  • Porta - Número da porta HTTP. Exemplo: 80, 443
  • Caminho - Componente do caminho da URL. Sem diferenciação entre maiúsculas e minúsculas. Exemplo: /Vinyl.

Observe que o App Builder não considera o esquema nesta fase.

Para os propósitos de uma correspondência solta, as seguintes URLs são consideradas equivalentes:

  • http://example.com/vinyl - Esquema HTTP, caminho em letras minúsculas.
  • https://example.com/Vinyl - Esquema HTTPS, caminho em letras maiúsculas e minúsculas.

Observe que este algoritmo não permite que um site do App Builder exista dentro de outro. O seguinte não é suportado:

  • https://example.com/Vinyl
  • https://example.com/Vinyl/Vinyl2

O App Builder escolhe a melhor correspondência com a seguinte precedência:

  1. Se a URL corresponder a um site, o site é selecionado.
  2. Se a URL corresponder a um alias, o site do alias é selecionado.
  3. Caso contrário, o site padrão é selecionado.

Redirect

Uma vez que o site foi escolhido, o App Builder determina se a solicitação deve ser permitida a continuar ou se um redirecionamento deve ser emitido.

  • Se a opção Redirect estiver desativada, a solicitação é permitida a prosseguir.
  • Se a opção Redirect estiver ativada e a URL da solicitação não corresponder à URL do site, o App Builder abortará a solicitação e responderá com um redirecionamento HTTP.

Neste estágio, o App Builder realiza uma correspondência "estrita". Uma correspondência estrita difere da correspondência solta em que:

  • O caminho é tratado como sensível a maiúsculas e minúsculas.
  • O esquema é considerado.

Para os propósitos de uma correspondência estrita, as seguintes URLs não são consideradas equivalentes:

  • http://example.com/vinyl - esquema HTTP, caminho em letras minúsculas.
  • https://example.com/Vinyl - esquema HTTPS, caminho com letras maiúsculas e minúsculas.

Se a URL da solicitação HTTP não corresponder à URL do site, o App Builder responderá com um redirecionamento.

Reverse proxies and load balancers

O App Builder suporta proxies reversos e balanceadores de carga que terminam a conexão SSL antes do servidor web. Esses ambientes requerem configuração adicional. Veja Reverse proxies para mais informações.

Use cases

Require HTTPS

Cada instância do App Builder DEVE ser protegida usando HTTPS. A conexão segura pode ser encerrada no servidor web ou em um proxy reverso. De qualquer forma, uma vez configurado, os administradores são fortemente incentivados a exigir que todos os clientes se conectem com HTTPS.

Isso pode ser alcançado com sites e aliases. Defina a URL do site para corresponder à URL segura, por exemplo, https://example.com/Vinyl, e ative a opção Redirect.

Revise as informações sobre Proxies Reversos e Balanceadores de Carga ao usar HTTPS

Framing

O App Builder depende de cookies HTTP. Os navegadores da web normalmente bloqueiam cookies de terceiros. Isso pode causar problemas ao renderizar o App Builder em um quadro HTML.

Por exemplo, se o site de enquadramento for publicado na seguinte URL:

https://registration.example.com/

E o App Builder for publicado em um domínio diferente:

https://vinyl.example.net/

O navegador da web tratará quaisquer cookies definidos pelo App Builder como cookies de terceiros e os bloqueará de acordo. Para contornar esse problema, publique o App Builder em um subdomínio do domínio do site de enquadramento.

https://vinyl.registration.example.com/

Crie um site no App Builder com esta URL. Não o torne o site Padrão. Ative a opção Redirecionar para exigir HTTPS.