Cómo configurar un proxy inverso para WordPress

Publicado: 2023-01-16

Como administrador de WordPress, es posible que se encuentre en una situación en la que deba configurar un servidor proxy inverso. Afortunadamente, configurar un servidor proxy inverso es relativamente fácil y hay varios paquetes de software diferentes que puede usar. Este artículo proporciona una breve descripción general de cómo configurar un servidor proxy inverso para su sitio de WordPress usando NGINX.

¿Qué son los servidores proxy inversos y por qué usarlos para WordPress?

Un servidor proxy inverso recupera recursos de uno o más servidores en nombre de un cliente. Estos recursos luego se entregan al cliente sin una forma de saber que se originaron en el servidor proxy.

Los proxies inversos son útiles porque pueden ocultar la existencia y las características del servidor de origen. Por ejemplo, un proxy inverso puede proporcionar una capa adicional de seguridad, rendimiento y confiabilidad para las aplicaciones web al protegerlas de solicitudes maliciosas o grandes cantidades de tráfico.

Si tiene curiosidad por obtener más información, hay muchos recursos en línea que lo ayudarán a obtener más información sobre los servidores proxy inversos. Hay varias razones comunes por las que puede ser necesario configurar un servidor proxy inverso:

  • Rendimiento mejorado del sitio con almacenamiento en caché de contenido

Un caso de uso común para un proxy inverso es almacenar en caché el contenido de WordPress solicitado con frecuencia. Por ejemplo, si un grupo de servidores web sirve un sitio web, un proxy inverso puede almacenar en caché el contenido estático del sitio web (como páginas HTML, imágenes y archivos CSS) en un solo servidor. Esto puede mejorar el rendimiento del sitio web de WordPress, ya que no es necesario recuperar el contenido de los servidores web cada vez que un usuario solicita una página.

  • Descarga de tareas que requieren un uso intensivo de la CPU, como el cambio de tamaño de imagen

Un servidor proxy inverso puede descargar tareas que requieren un uso intensivo de la CPU, como el cambio de tamaño de imagen del servidor de WordPress, al reenviar las solicitudes de estas tareas a un servidor que esté mejor equipado para manejarlas. Esto puede ayudar a mejorar el rendimiento del sitio de WordPress al liberar recursos en el servidor de WordPress para otras tareas.

  • Seguridad mejorada mediante el filtrado de solicitudes y el bloqueo del tráfico malicioso

Un servidor proxy inverso puede mejorar la seguridad de WordPress al filtrar las solicitudes y bloquear el tráfico malicioso. Al filtrar las solicitudes, el servidor proxy inverso puede bloquear el acceso a regiones o direcciones IP específicas que se sabe que están asociadas con actividades maliciosas. Al bloquear el tráfico malicioso, el servidor proxy inverso puede ayudar a mitigar los efectos de los ataques DDoS y otros ataques dirigidos a los sitios de WordPress.

  • Hacer que WordPress sea accesible desde un dominio o subdominio diferente

Como se mencionó anteriormente, el servidor proxy inverso recupera recursos de uno o más servidores en nombre de un cliente. Estos recursos pueden ser de cualquier tipo de archivo, pero por lo general son páginas web. El servidor proxy inverso luego proporciona al cliente estos recursos y aparecen como si se originaran en el propio servidor. Esto se hace configurando el servidor proxy inverso para reenviar las solicitudes de contenido de WordPress al servidor de WordPress y, al mismo tiempo, dar al cliente la ilusión de que está accediendo al contenido directamente desde el servidor proxy local.

Servidores proxy inversos más populares

Según W3Techs, alrededor del 83% de los sitios web no emplean un servicio de proxy inverso. El 17% restante que lo hace son en su mayoría CDN, ya que los proxies inversos generalmente ocultan su presencia por motivos de seguridad, lo que dificulta que los servicios de monitoreo de sitios web como W3Techs determinen cuáles son los más utilizados. Estas son las tres soluciones de proxy inverso más utilizadas:

  • NGINX

NGINX es un servidor web que ofrece múltiples ventajas, como rendimiento mejorado, seguridad, confiabilidad y escalabilidad. Puede obtenerlo de forma gratuita o utilizar la edición comercial, NGINX Plus, para sitios web corporativos con posibilidades de configuración basadas en API. Bastantes grandes empresas usan NGINX: Cloudflare, Netflix, MaxCDN, entre otros. Configurar NGINX como proxy inverso es fácil y puede personalizarlo para satisfacer sus necesidades.

  • Barniz

Varnish es un tipo de software de código abierto que puede mejorar el rendimiento de los sitios web de alto tráfico. Funciona como proxy inverso, equilibrador de carga, cortafuegos de aplicaciones web y servidor de autenticación perimetral, y es compatible con Edge Side Incluye (ESI) para una carga de página más rápida. Puede usarlo como front-end para servidores web NGINX o Apache, o configurarlo como un proxy inverso para WordPress.

  • Servidor de tráfico Apache

Apache Traffic Server, una opción de código abierto reconocida por su rendimiento y capacidad, fue desarrollada por primera vez por Yahoo! como servicio comercial antes de regalárselo a la Fundación Apache. Actualmente lo utilizan muchas redes de contenido y CDN, incluidas Akami, Apple, Comcast, LinkedIn y Yahoo para mejorar sus sistemas. Además, Apache HTTP Server (Apache httpd) se puede emplear para configurar un proxy inverso en su servidor web que le permite proporcionar contenido estático y dinámico a los usuarios mientras sigue funcionando como un servidor web normal.

  • HAproxy

HAProxy es un proxy inverso gratuito y de código abierto y un equilibrador de carga diseñado para funcionar con muchas arquitecturas de servidores web existentes, como sistemas Linux y plataformas basadas en la nube. Utiliza un modelo de E/S basado en eventos y puede distribuir solicitudes a través de múltiples procesos de trabajo, similar a NGINX. HAProxy es reconocido por su capacidad para manejar grandes volúmenes de tráfico incluso durante los picos de carga. Es utilizado por algunos de los sitios más grandes del mundo, como Airbnb, Reddit e Instagram.

Casos de uso del servidor proxy inverso para sitios de WordPress

Aunque también puede usar otros proxies inversos, NGINX es la opción más popular. Estos son los tres casos de uso principales para configurar un proxy inverso para sitios de WordPress:

  • Sitio web principal y proxy en un solo servidor

Si tiene los sitios principal y proxy alojados en el mismo servidor web, puede configurar un proxy inverso para que el sitio proxy se cargue desde el sitio principal. Puede hacerlo configurando todas las reglas de proxy inverso relevantes en el sitio principal y configurando el sitio proxy para cargar a través del proxy. Además, si usa un certificado SSL, debe haber reglas específicas en wp-config.php para evitar bucles de redirección. Tenga en cuenta que es imposible crear una URL con el mismo subdirectorio que el utilizado para cargar el sitio.

  • Alojar solo el sitio proxy en su servidor

Para crear un proxy inverso, debe comunicarse con el administrador del servidor del sitio web principal y configurar las reglas en dos servidores. También se debe agregar un nombre de dominio que apunte al proxy inverso. Esto generalmente se hace a través de un subdominio (p. ej., blog.su_dominio.com) que está vinculado al sitio proxy (p. ej., su_dominio.com/blog). Tenga en cuenta que necesitará la dirección IP del servidor para completar el proceso de configuración.

  • Sitio principal alojado en su servidor

Si solo puede acceder al sitio web principal y su servidor de alojamiento, debe configurar un proxy inverso y ajustar su configuración para que la página se extraiga de un host externo. Será responsabilidad del administrador del servidor secundario instalar y configurar el sitio proxy para acceder a través del proxy inverso.

Pasos para configurar un proxy inverso para WordPress

Configurar un proxy inverso para WordPress es una excelente manera de mejorar el rendimiento de su sitio web. También puede ayudar a proteger su servidor web de solicitudes maliciosas y ayudar a mejorar la experiencia del usuario. A continuación se muestran los pasos que debe seguir para configurar un proxy inverso para WordPress.

  1. Instalar un servidor proxy inverso

El primer paso es instalar un servidor proxy inverso. Recomendamos utilizar el servidor web NGINX, que es gratuito y de código abierto. También se pueden usar otros servidores web populares, como Apache, pero supondremos que está usando NGINX para este tutorial. Supongamos que desea utilizar un proxy inverso NGINX (192.xx10) junto con un servidor web Apache (192.xx20) que ya está en funcionamiento.

Instalar NGINX en un servidor Ubuntu es cuestión de ejecutar un solo comando:

sudo apt-obtener actualización
sudo apt-get install nginx

Una vez que NGINX esté instalado, use este comando para deshabilitar el host virtual:

sudo unlink /etc/nginx/sites-enabled/default

Ahora es el momento de crear un proxy inverso. Puede hacerlo creando un archivo llamado reverse-proxy.conf en el directorio etc/nginx/sites-available. En primer lugar, navegue hasta el directorio:

cd etc/nginx/sitios disponibles

Cree el archivo a través del editor vi:

vi proxy inverso.conf

Agregue las siguientes líneas al archivo:

servidor {
escuchar 80;
localización / {
proxy_pass http://192.xx20;
}
}

Como podemos ver, el pase de proxy permite que las solicitudes que llegan a través del proxy inverso pasen a 192.xx20:80, el socket remoto del servidor principal. En otras palabras, ambos servidores comparten el contenido. Una vez que haya terminado, guarde el archivo y salga del editor. Para reenviar información a otros servidores, use ngx_http_proxy_module en la terminal. Finalmente, debe activar las directivas vinculando a /sites-enabled/ con este comando:

sudo ln -s /etc/nginx/sites-disponible/reverse-proxy.conf /etc/nginx/sites-enabled/reverse-proxy.conf

Todo lo que queda por hacer es probar el proxy inverso. Debe ejecutar una prueba de configuración y reiniciar NGINX para verificar su rendimiento. Utilice el siguiente comando para comprobar si NGINX funciona:

prueba de configuración de servicio nginx
reiniciar el servicio nginx

En caso de que la prueba falle, significa que probablemente Apache no esté configurado correctamente.

Limitaciones del servidor proxy inverso

Un proxy inverso puede presentar un gran riesgo de seguridad porque puede observar y modificar todo el tráfico que lo atraviesa. Si el tráfico HTTPS se envía a través del proxy inverso, los datos deben descifrarse y volverse a cifrar, lo que requiere las claves privadas del certificado SSL/TLS. Si un pirata informático obtiene acceso a este proxy inverso, tiene el potencial de registrar contraseñas e insertar código malicioso en los sitios web.

Un proxy inverso puede crear un único punto de falla si ni usted ni sus usuarios pueden acceder directamente al servidor principal. Por ejemplo, si un proxy inverso sirve a múltiples dominios, cualquier interrupción hará que todos esos sitios sean inaccesibles. Si se utiliza un proxy inverso de terceros, no olvide que está compartiendo detalles importantes sobre el sitio con ellos.

Conclusión

La configuración de un proxy inverso para WordPress puede beneficiar la seguridad y el rendimiento del sitio web. Los pasos para configurar un proxy inverso para WordPress varían según el servidor y la configuración. En general, incluyen la configuración del servidor proxy, la configuración del servidor web backend y la configuración del sitio de WordPress. Aunque configurar un servidor proxy inverso puede ser beneficioso, tiene limitaciones.