Como configurar um proxy reverso para WordPress
Publicados: 2023-01-16Como administrador do WordPress, você pode se encontrar em uma situação em que deve configurar um servidor proxy reverso. Felizmente, configurar um servidor proxy reverso é relativamente fácil e existem vários pacotes de software diferentes que você pode usar. Este artigo fornece uma breve visão geral da configuração de um servidor proxy reverso para seu site WordPress usando NGINX.
O que são servidores proxy reverso e por que usá-los para WordPress
Um servidor proxy reverso recupera recursos de um ou mais servidores em nome de um cliente. Esses recursos são então entregues ao cliente sem uma maneira de dizer que eles se originaram do servidor proxy.
Os proxies reversos são úteis porque podem ocultar a existência e as características do servidor de origem. Por exemplo, um proxy reverso pode fornecer uma camada extra de segurança, desempenho e confiabilidade para aplicativos da Web, protegendo-os de solicitações maliciosas ou grandes quantidades de tráfego.
Se você estiver curioso para saber mais, há muitos recursos on-line para ajudá-lo a aprender mais sobre os servidores proxy reverso. Existem vários motivos comuns pelos quais a configuração de um servidor proxy reverso pode ser necessária:
- Melhor desempenho do site com cache de conteúdo
Um caso de uso comum para um proxy reverso é armazenar em cache o conteúdo do WordPress solicitado com frequência. Por exemplo, se um grupo de servidores da Web atende a um site, um proxy reverso pode armazenar em cache o conteúdo estático do site (como páginas HTML, imagens e arquivos CSS) em um único servidor. Isso pode melhorar o desempenho do site WordPress, pois o conteúdo não precisa ser recuperado dos servidores da Web sempre que um usuário solicita uma página.
- Descarregar tarefas intensivas de CPU, como redimensionamento de imagem
Um servidor proxy reverso pode descarregar tarefas intensivas de CPU, como redimensionamento de imagens do servidor WordPress, encaminhando solicitações dessas tarefas para um servidor mais bem equipado para lidar com elas. Isso pode ajudar a melhorar o desempenho do site WordPress liberando recursos no servidor WordPress para outras tarefas.
- Segurança aprimorada filtrando solicitações e bloqueando tráfego malicioso
Um servidor proxy reverso pode melhorar a segurança do WordPress filtrando solicitações e bloqueando o tráfego malicioso. Ao filtrar as solicitações, o servidor proxy reverso pode bloquear o acesso a endereços IP específicos ou regiões conhecidas por estarem associadas a atividades maliciosas. Ao bloquear o tráfego malicioso, o servidor proxy reverso pode ajudar a mitigar os efeitos de ataques DDoS e outros ataques direcionados a sites WordPress.
- Tornar o WordPress acessível a partir de um domínio ou subdomínio diferente
Conforme mencionado acima, o servidor proxy reverso recupera recursos de um ou mais servidores em nome de um cliente. Esses recursos podem ser qualquer tipo de arquivo, mas geralmente são páginas da web. O servidor proxy reverso fornece ao cliente esses recursos e eles aparecem como se fossem originários do próprio servidor. Isso é feito configurando o servidor proxy reverso para encaminhar solicitações de conteúdo do WordPress para o servidor WordPress, ao mesmo tempo em que dá ao cliente a ilusão de que está acessando o conteúdo diretamente do servidor proxy local.
Servidores proxy reverso mais populares
Segundo a W3Techs, cerca de 83% dos sites não utilizam um serviço de proxy reverso. Os 17% restantes que o fazem são principalmente CDNs, pois os proxies reversos geralmente ocultam sua presença para fins de segurança, tornando difícil para os serviços de monitoramento de sites, como W3Techs, determinar quais são os mais amplamente usados. Aqui estão as três soluções de proxy reverso mais usadas:
- NGINXGenericName
O NGINX é um servidor web que oferece várias vantagens, como desempenho aprimorado, segurança, confiabilidade e escalabilidade. Você pode obtê-lo gratuitamente ou usar a edição comercial, NGINX Plus, para sites corporativos com possibilidades de configuração baseadas em API. Muitas grandes empresas usam NGINX – Cloudflare, Netflix, MaxCDN, entre outros. Configurar o NGINX como um proxy reverso é fácil e você pode personalizá-lo para atender às suas necessidades.
- Verniz
Varnish é um tipo de software de código aberto que pode melhorar o desempenho de sites de alto tráfego. Ele funciona como um proxy reverso, balanceador de carga, firewall de aplicativo da web e servidor de autenticação de borda, e suporta Edge Side Includes (ESI) para carregamento de página mais rápido. Você pode usá-lo como um front-end para servidores web NGINX ou Apache, ou configurá-lo como um proxy reverso para WordPress.
- Servidor de Tráfego Apache
Apache Traffic Server, uma opção de código aberto conhecida por seu desempenho e capacidade, foi desenvolvida pela primeira vez pelo Yahoo! como um serviço comercial antes de distribuí-lo à Fundação Apache. Ele está sendo usado atualmente por muitas redes de conteúdo e CDNs, incluindo Akami, Apple, Comcast, LinkedIn e Yahoo para aprimorar seus sistemas. Além disso, o Apache HTTP Server (Apache httpd) pode ser empregado para configurar um proxy reverso em seu servidor web que permite fornecer conteúdo estático e dinâmico aos usuários enquanto ainda opera como um servidor web regular.
- HAproxy
O HAProxy é um proxy reverso e balanceador de carga gratuito e de código aberto projetado para funcionar com muitas arquiteturas de servidor da Web existentes, como sistemas Linux e plataformas baseadas em nuvem. Ele utiliza um modelo de E/S orientado a eventos e pode distribuir solicitações entre vários processos de trabalho, semelhante ao NGINX. O HAProxy é conhecido por sua capacidade de lidar com grandes volumes de tráfego, mesmo durante picos de carga. É usado por alguns dos maiores sites do mundo, como Airbnb, Reddit e Instagram.
Casos de uso do servidor proxy reverso para sites WordPress
Embora você também possa usar outros proxies reversos, o NGINX é a escolha mais popular. Aqui estão os três principais casos de uso para configurar um proxy reverso para sites WordPress:
- Site principal e proxy em um único servidor
Se você tiver os sites principal e proxy hospedados no mesmo servidor da Web, poderá configurar um proxy reverso para que o site proxy seja carregado a partir do site principal. Você pode fazer isso configurando todas as regras de proxy reverso relevantes no site principal e configurando o site com proxy para carregar por meio do proxy. Além disso, se estiver usando um certificado SSL, regras específicas devem estar em vigor no wp-config.php para evitar loops de redirecionamento. Observe que é impossível criar uma URL com o mesmo subdiretório usado para carregar o site.
- Hospedando apenas o site proxy em seu servidor
Para criar um proxy reverso, você deve entrar em contato com o administrador do servidor do site principal e configurar as regras em dois servidores. Um nome de domínio que aponte para o proxy reverso também deve ser adicionado. Isso geralmente é feito por meio de um subdomínio (por exemplo, blog.seu_dominio.com) que está vinculado ao site proxy (por exemplo, seu_dominio.com/blog). Observe que você precisará do endereço IP do servidor para concluir o processo de configuração.
- Site principal hospedado em seu servidor
Se você só pode acessar o site principal e seu servidor de hospedagem, configure um proxy reverso e ajuste suas configurações para que a página seja extraída de um host externo. Será responsabilidade do administrador do servidor secundário instalar e configurar o site proxy para ser acessado através do proxy reverso.
Etapas para configurar um proxy reverso para WordPress
Configurar um proxy reverso para WordPress é uma ótima maneira de melhorar o desempenho do seu site. Ele também pode ajudar a proteger seu servidor da web contra solicitações maliciosas e ajudar a melhorar a experiência do usuário. Abaixo estão as etapas que você precisa seguir para configurar um proxy reverso para WordPress.
- Instalar um servidor proxy reverso
A primeira etapa é instalar um servidor proxy reverso. Recomendamos o uso do servidor web NGINX, que é gratuito e de código aberto. Outros servidores da Web populares, como o Apache, também podem ser usados, mas presumiremos que você esteja usando o NGINX para este tutorial. Digamos que você queira usar um proxy reverso NGINX (192.xx10) junto com um servidor web Apache (192.xx20) que já está funcionando.
Instalar o NGINX em um servidor Ubuntu é uma questão de executar um único comando:
sudo apt-get update
sudo apt-get install nginx
Depois que o NGINX estiver instalado, use este comando para desativar o host virtual:
sudo unlink /etc/nginx/sites-enabled/default
Agora é hora de criar um proxy reverso. Você pode fazer isso criando um arquivo chamado reverse-proxy.conf no diretório etc/nginx/sites-available. Primeiro de tudo, navegue até o diretório:
cd etc/nginx/sites-disponíveis
Crie o arquivo através do editor vi:
vi reverse-proxy.conf
Adicione as seguintes linhas ao arquivo:
servidor {
ouvir 80;
localização / {
proxy_pass http://192.xx20;
}
}
Como podemos ver, a passagem do proxy permite que as solicitações vindas do proxy reverso sejam repassadas para 192.xx20:80, o soquete remoto do servidor principal. Em outras palavras, ambos os servidores compartilham o conteúdo. Quando terminar, salve o arquivo e saia do editor. Para encaminhar informações para outros servidores, use o módulo ngx_http_proxy_no terminal. Finalmente, você precisa ativar as diretivas vinculando-se a /sites-enabled/ com este comando:
sudo ln -s /etc/nginx/sites-available/reverse-proxy.conf /etc/nginx/sites-enabled/reverse-proxy.conf
Tudo o que resta fazer é testar o proxy reverso. Você precisa executar um teste de configuração e reiniciar o NGINX para verificar seu desempenho. Use o comando abaixo para verificar se o NGINX funciona:
serviço nginx configtest
reinicialização do serviço nginx
Caso o teste falhe, significa que o Apache provavelmente não está configurado corretamente.
Limitações do servidor proxy reverso
Um proxy reverso pode apresentar um grande risco de segurança porque pode observar e modificar todo o tráfego que passa por ele. Se o tráfego HTTPS for enviado por meio do proxy reverso, os dados deverão ser descriptografados e criptografados novamente, o que requer as chaves privadas do certificado SSL/TLS. Se um hacker obtiver acesso a esse proxy reverso, ele poderá registrar senhas e inserir códigos maliciosos em sites.
Um proxy reverso pode criar um único ponto de falha se nem você nem seus usuários puderem acessar o servidor principal diretamente. Por exemplo, se um proxy reverso atender a vários domínios, qualquer interrupção tornará todos esses sites inacessíveis. Se for usado um proxy reverso de terceiros, não se esqueça de que você está compartilhando detalhes importantes sobre o site com eles.
Conclusão
A configuração de um proxy reverso para WordPress pode beneficiar a segurança e o desempenho do site. As etapas para configurar um proxy reverso para WordPress variam dependendo do servidor e da configuração. Geralmente, eles incluem a configuração do servidor proxy, configuração do servidor web de back-end e configuração do site WordPress. Embora a configuração de um servidor proxy reverso possa ser benéfica, ela tem limitações.