Configure su propia red privada con OpenVPN
Vultr le ofrece una increíble conectividad de red privada para servidores que se ejecutan en la misma ubicación. Pero a veces quieres dos servidores en diferentes países.
HAProxy es una aplicación de software de red que ofrece alta disponibilidad, equilibrio de carga y proxy para aplicaciones de red TCP y HTTP. Es adecuado para sitios web de alto tráfico y potencia muchos sitios populares en toda la web. Este artículo le mostrará cómo instalar y configurar HAProxy en Debian 9.1.
Aunque HAProxy tiene varias características destacadas, este artículo se centra en cómo configurar HAProxy para "proxy" de su aplicación web.
Debian 9 ya viene con HAProxy 1.7 (última versión estable al momento de la redacción), y simplemente podemos instalarlo usando apt-get
:
# apt-get update
# apt-get install haproxy
Si los comandos anteriores fueron exitosos, entonces instaló HAProxy y puede continuar con el siguiente paso.
El archivo de configuración de HAProxy se divide en dos secciones: "global" y "proxies". Uno se ocupa de la configuración de todo el proceso, mientras que el último consiste en la configuración predeterminada, las secciones frontend y back-end.
Usando su editor de texto favorito, abra /etc/haproxy/haproxy.cfg
y observe las secciones predefinidas: "global" y "valores predeterminados". Lo primero que puede hacer es aumentar el maxconn
tamaño a un tamaño razonable, ya que esto afecta las conexiones que permite HAProxy. Demasiadas conexiones pueden hacer que su servicio web se bloquee debido a muchas solicitudes. Deberá ajustar el tamaño para ver qué funciona para usted. En la sección global, hemos elegido un maxconn
valor de 3072
.
global
daemon
maxconn 3072
En la sección predeterminada, agregue la siguiente línea en modo http
:
option forwardfor
Esto agregará X-Forwarded-For
encabezados a cada solicitud, lo que permite a sus servidores de back-end conocer la dirección IP original del usuario.
Además, agregue esta línea para habilitar el modo de cierre de conexión HTTP en el lado del servidor mientras mantiene la capacidad de soportar HTTP keep-alive en el lado del cliente. Esto reduce la latencia en el lado del cliente y ayuda a conservar los recursos del servidor:
option http-server-close
Si desea utilizar keep-alive tanto en el lado del cliente como en el del servidor, puede usarlo option http-keep-alive
en su lugar. Esta opción es particularmente útil cuando el costo de establecer una nueva conexión con el servidor es significativo en comparación con el costo de recuperar el recurso solicitado.
Finalmente, el archivo de configuración resultante se verá así:
defaults
mode http
option forwardfor
option http-server-close
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
Para configurar su proxy, deberá agregar dos secciones al archivo de configuración para definir las dos partes del proxy: el frontend y el backend.
La interfaz se encargará de sus conexiones HTTP. Agregue lo siguiente al final de su haproxy.cfg
archivo:
frontend http-frontend
bind public_ip:80
reqadd X-Forwarded-Proto:\ http
default_backend wwwbackend
Asegúrese de reemplazar public_ip
con la dirección IP pública o el nombre de dominio de su servidor.
Configure su backend agregando las siguientes líneas al final de su archivo de configuración:
backend wwwbackend
server 1-www server1_ip:80 check
server 2-www server2_ip:80 check
server 3-www server3_ip:80 check
La configuración de backend utilizada aquí crea 3 conexiones nombradas X-www
. ( X
es 1, 2 o 3.) Cada uno de ellos corresponde a una serverX_ip:80
dirección. (Reemplace serverX_ip
con las direcciones IP de sus instancias de Vultr). Esto le permitirá equilibrar la carga entre cada servidor en el conjunto de servidores especificado (suponiendo que cada dirección IP corresponda a un servidor diferente). La check
opción hace que el equilibrador de carga realice comprobaciones de estado en el servidor.
Guarde el archivo de configuración y luego reinicie HAProxy:
service haproxy restart
Si todo funciona, entonces podrá conectarse http://public_ip/
(reemplazándolo con su IP pública o nombre de dominio como se configuró en el paso frontend) y ver su sitio web.
Si su instancia de HAProxy se niega a comenzar después de sus modificaciones, es probable que tenga un error en algún lugar del archivo de configuración. Para obtener mensajes claros sobre el problema en el archivo de configuración, puede intentar iniciar HAProxy manualmente usando este comando:
# haproxy -f /etc/haproxy/haproxy.cfg
Por ejemplo, si ve resultados como este:
[ALERT] 234/195612 (2561) : parsing [/etc/haproxy/haproxy.cfg:48] : server 1-www has neither service port nor check port nor tcp_check rule 'connect' with port information. Check has been disabled.
[ALERT] 234/195612 (2561) : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg
[ALERT] 234/195612 (2561) : Fatal errors found in configuration.
Luego, ha olvidado especificar el número de puerto para el servidor 1-www
.
Vultr le ofrece una increíble conectividad de red privada para servidores que se ejecutan en la misma ubicación. Pero a veces quieres dos servidores en diferentes países.
¿Usando un sistema diferente? Couch CMS es un sistema de gestión de contenido (CMS) simple y flexible, gratuito y de código abierto que permite a los diseñadores web diseñar
Usar un usuario sudo para acceder a un servidor y ejecutar comandos a nivel raíz es una práctica muy común entre Linux y Unix Systems Administrator. El uso de un sud
Este artículo le enseñará cómo configurar una cárcel chroot en Debian. Supongo que está utilizando Debian 7.x. Si está ejecutando Debian 6 u 8, esto puede funcionar, pero
Introduction An easy way to set up a VPN server on Debian is with PiVPN. PiVPN is an installer and wrapper for OpenVPN. It creates simple commands for you t
Using a Different System? Introduction Kanboard is a free and open source project management software program which is designed to facilitate and visualiz
Using a Different System? Neos is a Content Application Platform with a CMS and an application framework at its core. This guide will show you how to instal
Introducción Cacti es una herramienta de monitoreo y gráficos de código abierto que se basa completamente en datos RRD. A través de Cacti, puedes monitorear casi cualquier tipo de dispositivo
Java es un lenguaje de programación / máquina virtual independiente de la plataforma. En este tutorial, instalaremos la implementación de OpenJDK de Java 8 en un Debian
Git es un sistema de control de versiones (VCS) que permite el seguimiento de cambios en el código. En este tutorial, veremos cómo instalar un servidor HTTP (S) Git, un
Introducción MySQL tiene una gran característica conocida como vistas. Las vistas son consultas almacenadas. Piense en ellos como un alias para una consulta larga. En esta guía,
Using a Different System? Matomo (formerly Piwik) is an open source analytics platform, an open alternative to Google Analytics. Matomo source is hosted o
Hiawatha es un servidor web que tiene en cuenta la simplicidad, la facilidad de uso y la seguridad. Es la solución perfecta para servidores más pequeños, hardware antiguo o incrustación
Munin es una herramienta de monitoreo para examinar procesos y recursos en su máquina y presenta la información en gráficos a través de una interfaz web. Usa el siguiente
¿Usando un sistema diferente? En esta guía, veremos cómo configurar un servidor FTP (ProFTPd) para transferir archivos entre su PC y su servidor.
Using a Different System? NodeBB is a Node.js based forum. It utilizes web sockets for instant interactions and real-time notifications. NodeBB source code i
¿Usando un sistema diferente? TaskWarrior es una herramienta de gestión de tiempo de código abierto que es una mejora en la aplicación Todo.txt y sus clones. Debido a th
Introduction Debian 10 (Buster), is the successor to Debian 9 (Stretch). It was released on July 6, 2019. In this tutorial, we will be upgrading an existin
Introducción En este tutorial, cubriremos el proceso de agregar un rango / subred de IP completo a un servidor Linux que ejecuta CentOS, Debian o Ubuntu. El proceso
¿Usando un sistema diferente? Plesk es un panel de control de alojamiento web patentado que permite a los usuarios administrar sus sitios web y bases de datos personales y / o de clientes
Los ataques de ransomware van en aumento, pero ¿puede la IA ayudar a lidiar con el último virus informático? ¿Es la IA la respuesta? Lea aquí, sepa que la IA es una bendición o una perdición
ReactOS, un sistema operativo de código abierto y gratuito, está aquí con la última versión. ¿Puede satisfacer las necesidades de los usuarios de Windows de hoy en día y acabar con Microsoft? Averigüemos más sobre este estilo antiguo, pero una experiencia de sistema operativo más nueva.
Whatsapp finalmente lanzó la aplicación de escritorio para usuarios de Mac y Windows. Ahora puede acceder a Whatsapp desde Windows o Mac fácilmente. Disponible para Windows 8+ y Mac OS 10.9+
Lea esto para saber cómo la Inteligencia Artificial se está volviendo popular entre las empresas de pequeña escala y cómo está aumentando las probabilidades de hacerlas crecer y dar ventaja a sus competidores.
Recientemente, Apple lanzó macOS Catalina 10.15.4, una actualización complementaria para solucionar problemas, pero parece que la actualización está causando más problemas que conducen al bloqueo de las máquinas Mac. Lee este artículo para obtener más información
13 Herramientas comerciales de extracción de datos de Big Data
Nuestra computadora almacena todos los datos de una manera organizada conocida como sistema de archivos de diario. Es un método eficiente que permite a la computadora buscar y mostrar archivos tan pronto como presiona buscar.
A medida que la ciencia evoluciona a un ritmo rápido, asumiendo muchos de nuestros esfuerzos, también aumentan los riesgos de someternos a una singularidad inexplicable. Lea, lo que la singularidad podría significar para nosotros.
Una mirada a 26 técnicas analíticas de Big Data: Parte 1
La IA en la salud ha dado grandes pasos desde las últimas décadas. Por tanto, el futuro de la IA en el sector sanitario sigue creciendo día a día.