Um proxy reverso pode ser usado para carregar um site WordPress de um subdiretório, já um site separado carrega no domínio raiz.

Um proxy reverso consiste em um conjunto de regras adicionadas a um servidor web, que instrui o servidor a enviar solicitações para um determinado subdiretório em um servidor separado.

Pensemos em um exemplo para entender melhor como um proxy reverso pode ser usado. Imagine que tem um site não WordPress que carrega em exemplo.com e quer que o blog seja WordPress. Você quer que o blog seja carregado em exemplo.com/blog e hospedar seu blog com um host WordPress gerenciado, como a Kinsta.

Para fazer isso, as regras de proxy reverso teriam de ser configurado na hospedagem do servidor web exemplo.com, instruindo o servidor web para enviar quaisquer pedidos relacionados com o subdiretório /blog para outro servidor web, que hospeda o website /blog WordPress.

Add-On de Proxy Reverso

Kinsta permite o uso de proxies reversos para carregar o WordPress a partir de um subdiretório ou apontar um subdiretório do seu site para um servidor externo. Contudo, os proxies reversos são muitas vezes difíceis de configurar e suportar, e os sites que usam proxies reversos normalmente requerem consideravelmente mais suporte do que as instalações normais WordPress.

Por isso, uma subscrição mensal para um add-on de US$ 50 é aplicada para cada proxy reverso que Kinsta ajuda na configuração.

Além disso, espere até um dia útil para fazer a configuração inicial de um proxy reverso. Em alguns casos, pode ser necessário tempo adicional e uma equipe de suporte da Kinsta para que o proxy reverso funcione corretamente em casos de utilização não comum.

Casos de Uso de Proxy Reverso

Existem três casos de uso possíveis para proxies reversos na Kinsta. Para entender esses casos, precisamos primeiro definir dois termos: site principal e site proxied.

  • O site principal é o site que carrega no domínio raiz.
  • Os sites proxied são os sites que carregam a partir de um subdiretório a partir de um proxy reverso.

Voltando ao nosso exemplo acima, exemplo.com seria o site principal, enquanto exemplo.com/blog seria o site proxied.

Com essa definições em mente, eis os três casos possíveis de uso de proxies reversos na Kinsta:

  • Sites principais e proxied estão hospedados na Kinsta: O site principal, exemplo.com, e o site proxied, exemplo.com/blog, estão os dois hospedados na Kinsta. Isso permitiria que uma instalação WordPress alimentasse o exemplo.com, enquanto uma instalação WordPress completamente separada era usada no exemplo.com/blog.
  • Site proxy hospedado na Kinsta: O site principal, exemplo.com, não é hospedado pela Kinsta, já o site proxied, exemplo.com/blog, é hospedado pela Kinsta. Isso permitiria que uma instalação do WordPress hospedada na Kinsta fosse usada no exemplo.com/blog, enquanto o site principal seria hospedado em outro lugar.
  • Site principal hospedado na Kinsta: O site principal, exemplo.com, é hospedado pela Kinsta, enquanto o site proxied, exemplo.com/blog, não é hospedado pela Kinsta. Isso permitiria que uma instalação do WordPress hospedada na Kinsta fosse usada em exemplo.com, já o subdiretório do blog seria hospedado em outro lugar.

Vejamos novamente as implicações de cada opção, falando particularmente dos limites do suporte da Kinsta para cada cenário.

Exemplo de servidor proxy reverso

Exemplo de servidor proxy reverso

Sites Principais e Proxied Hospedados pela Kinsta

Se ambos os sites estão hospedados na Kinsta, a equipe de suporte da Kinsta pode configurar as regras de proxy reverso necessárias no site principal e configurar também o site proxy para carregar a partir o proxy reverso. Por favor saiba que tanto o site principal quanto o site proxy devem estar localizados no mesmo centro de dados. Além disso, um curto tempo de inatividade é possível durante a configuração do proxy reverso à medida que a Kinsta move os sites.

Nesse cenário, as responsabilidades do cliente seriam as seguintes:

  • Migrar ambos os sites para o ambiente Kinsta (ou enviar solicitações de migração para que a Kinsta migre os sites).
  • Dar á equipe de suporte Kinsta uma descrição clara da configuração do domínio.
  • Aguardar aproximadamente um dia útil para cada configuração de proxy reverso.

Nesse cenário, as responsabilidades Kinsta seriam as seguintes:

  • Configurar as regras de proxy reverso necessárias no site principal.
  • Configurar o site proxied para carregar a partir o proxy reverso.

Apenas o Site Proxied Está Hospedado na Kinsta

Nota importante: Se apenas o site proxied está hospedado na Kinsta, exigimos que os endereços IP do servidor proxy e que configure o servidor proxy para definir os cabeçalhos listados na nossa regra standard para o proxy reverso Nginx. Esses passos são necessárias para garantir que nosso sistema de análise funciona corretamente e que não colocamos na lista negra os endereços IP do seu servidor proxy. 

Se apenas o site proxied está hospedado pela Kinsta, então configurar o proxy reverso não é algo que a Kinsta possa fazer, tendo em consideração que o proxy reverso deve ser configurado no servidor que hospeda o site principal. Nesse cenário, a responsabilidade Kinsta é limitada à configuração do site proxied, para que esse esteja pronto para ser carregado através de um proxy reverso.

Nesse cenário, as responsabilidades do cliente seriam as seguintes:

  • Migrar o site proxied para a Kinsta (ou enviar uma solicitação de migração para que a Kinsta migre o site).
  • Adicionar um domínio ao site que será usado pelo proxy reverso. O proxy reverso precisa ser apontado para um domínio para aceder ao site proxy. Normalmente, um subdomínio é usado para isso. Por exemplo, blog.exemplo.com seria usado para um carregamento de proxy reverso em exemplo.com/blog.
  • Dar à equipe de suporte Kinsta uma descrição clara da configuração do domínio.
  • Aguardar aproximadamente um dia útil para que o site proxy seja configurado para carregar a partir de um proxy reverso.
  • Assim que o site proxied tenha sido configurado, criar o proxy reverso no servidor que hospeda o site principal.

Neste cenário, como mencionado, a responsabilidade da Kinsta é limitada à configuração do site proxied para que ele seja configurado corretamente para carregar a partir um proxy reverso.

Apenas o Site Principal Está Hospedado na Kinsta

Se apenas o site principal está hospedado na Kinsta, então a responsabilidade da Kinsta se limita a configurar um proxy reverso para carregar o site proxied (hospedado em outro lugar). Kinsta adicionará a regra standard de proxy reverso mencionada nesse artigo. As customizações dessa regra podem ser feitas a pedido do cliente.

Nesse cenário, o cliente é responsável por configurar o site proxy para que seja carregado corretamente a partir do proxy reverso e por solicitar ajustes à regra de proxy reverso caso não consiga carregar corretamente o site proxy.

Limitações de Sites Proxied

Existem algumas limitações associadas ao uso de proxies reversos na Kinsta.

Por favor note em primeiro lugar que a Kinsta não suporta o uso de multisite a partir de um proxy reverso.

Além disso, restaurar backups ou ativar sites de teste a partir de um proxy reverso pode fazer com que o site proxied deixe de carregar corretamente. Ao trabalhar com um site proxy, é sempre aconselhável agendar mudanças como essas para momentos de pouco tráfego e consultar a equipe de suporte da Kinsta previamente.

Na Kinsta, ao lidar com sites proxy, a melhor utilização dos sites de testes é feita em um ambiente de teste. Com isso, o fluxo de trabalho mais simples é duplicar essas alterações no site ao vivo em vez de colocar o ambiente de testes ao vivo. Além disso, a restauração de backups de sites proxied só deve ser feita em caso de emergência quando não é possível reverter as alterações manualmente.

Devido a essas limitações, não recomendamos a utilização de sites proxied se você espera fazer o restauro de backups ou uma ativação rotineira de sites de preparação.

Uma alternativa para sites proxied é o uso de um subdiretório de instalação multisite para WordPress.

Configuração de Proxy Reverso do Site Principal

Existem duas grandes implicações para o site principal ao carregar subdiretórios a partir de proxies reversos.

  • Devem ser adicionadas regras de proxy reverso para cada subdiretório proxied.
  • O site principal não poderá usar subdiretórios proxied para qualquer propósito, uma vez que todas as requisições para esse subdiretório serão encaminhadas para o site proxied.

Essa é a regra de proxy reverso Nginx usada por padrão na Kinsta para carregar um site a partir de um proxy reverso:

location ^~ /subdirectory/ {
  proxy_pass http://subdirectory.domain.com;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
}

O subdiretório concreto seria substituído pelo placeholder /subdirectory/. Além disso, http://subdirectory.domain.com seria alterado para corresponder ao domínio usado para apontar o proxy reverso para o site proxy.

Configuração do Site Proxied

Para carregar um site a partir de um proxy reverso, as seguintes alterações têm de ser feitas:

  • Um subdiretório terá de ser adicionado ao caminho do diretório no servidor, combinando o subdiretório utilizado para carregar o site e todos os arquivos do site movidos para esse subdiretório.
  • É necessário fazer atualizações na configuração do servidor web para atualizar a raiz do site, a fim de incluir o novo subdiretório. Além disso, é precisos adicionar uma reescrita à configuração do servidor para remover o subdiretório da requisição URI para cada requisição recebida.
  • Todos os URLs na base de dados do site proxied precisam ser atualizados para corresponder aos URLs do site ao vivo (por exemplo, exemplo.com/blog).
  • O arquivo wp-config.php do site precisa ser atualizado com uma definição $_SERVER['HTTP_HOST'] apontando para o URL principal do site (exemplo.com no nosso exemplo).
  • Se o site for forçado a carregar a partir https, será necessário acrescentar definições ao wp-config.php para evitar loops de redirecionamento.

Saiba que, por causa das regras de reescrita necessárias, um site proxied deve evitar criar URLs que dupliquem o mesmo subdiretório, no qual o site proxied é carregado. Por exemplo, um site proxy em exemplo.com/blog deve evitar criar uma página ou diretório em exemplo.com/blog/blog.

Resumo

O uso de proxies reversos na Kinsta é possível e temos vários clientes que optaram por utilizar a nossa infraestrutura dessa forma. Contudo, é importante entender a complexidade técnica, assim como as implicações para o uso dos sistemas de preparação e backup da Kinsta.

Se aina acredita que um proxy reverso é a melhor solução atual, fique à vontade para contatar a equipe de suporte Kinsta via chat no MyKinsta para iniciar o processo!

11
Shares