Estas directrices tienen por objeto definir la forma preferida por Deliverect de integrarse con los socios teniendo en cuenta su tamaño y la topología de su infraestructura.
Glosario
Término | Definición | Notas |
ISP | Proveedor de servicios de Internet | Ejemplo: Proximus, Telenet, Comcast, Vodafone, ... |
FQDN | Nombre de dominio completo | Ejemplo: deliverect.com |
DNS | Servidor de nombres de dominio | Algunos registradores de DNS son: Google, Namecheap, No-IP, Dyn, GoDaddy |
DUC | Cliente de actualización dinámica de DNS | Herramienta No-IP para la actualización automática de IP |
Cliente de actualización de Dyn | Cliente de actualización de DNS dinámicos | Herramienta de Dyn para actualización automática de IP |
Proxy inverso | Un proxy inverso es un tipo deservidor proxy que recupera recursos en nombre deun cliente desde uno o más servidores. Estos recursos son entonces devueltos al cliente, apareciendo como si se hubieran originado en el propio servidor proxy. | |
TPV | Punto de venta |
|
Problema
Deliverect proporciona una integración perfecta entre el canal de entrega y el punto de venta.
Para proporcionar esta integración, los servicios de Deliverect necesitan una conexión con el POS. Este documento aborda el problema de que no todos los POS son accesibles desde Internet, y cómo se puede resolver este problema de una manera que sea segura y demande el menor esfuerzo de mantenimiento por ambas partes.
En este documento, proponemos múltiples soluciones para resolver el problema descrito anteriormente desde integraciones de pequeños negocios hasta clientes empresariales.
Información general
IPs de Deliverect y documentación API
Todos los servicios de Deliverect están alojados en un entorno distribuido en la nube y, actualmente, se ejecutan en Google Cloud Platform.
Por el momento, el documento que contiene la documentación oficial de la API de Deliverect y las IP públicas asociadas se puede encontrar aquí.
Soluciones
1. Conexión directa al TPV
(Solución preferida por Deliverect)
Descripción
Deliverect sugiere utilizar esta solución. Aquí, la configuración permite que los servicios de Deliverect accedan al POS directamente desde Internet a través de un puerto expuesto en el firewall.
Pasos de la instalación
Etapa 1. Como mejor práctica, se debe configurar un FQDN (Nombre de Dominio Completamente Calificado) y asociarlo con la IP. Esto simplifica la gestión de este enfoque. Si el cliente no tiene uno, comprar uno es la mejor opción, pero también es posible solicitar uno gratis, pero podría requerir interacción manual cada mes como aprobación para seguir usando ese dominio (como recibir un correo electrónico cada mes y hacer clic para confirmar el uso del mismo).
Etapa 2. Hay 2 escenarios para esta configuración. Una IP pública estática(que recomendamos) y una dinámica:
Si la IP es estática sólo hay que añadirla a la lista de DNS. [Establecer entrada DNS]
(Deliverect no recomienda IPs dinámicas) Si la IP es dinámica hay algunas herramientas que pueden dar una dirección web estática que se puede utilizar. Hay algunas limitaciones para este tipo de soluciones que pueden traer tiempo de inactividad mientras la IP cambia (cuando el ISP genera una nueva IP para el cliente). Además, si esta herramienta de actualización de IP está caída, no habrá actualización y esto podría causar problemas que son más difíciles de solucionar porque la comprobación de IP DNS no se comprueba normalmente cuando se depura.
Etapa 3. Una vez que la IP ha sido configurada, el firewall debe ser actualizado para dar acceso al puerto requerido al host POS.
Etapa 4. Asegúrese de que el servicio POS se está ejecutando.
Etapa 5. Valide el acceso público a ese puerto específico.
Etapa 6. Para mejorar la seguridad, ponga en la lista blanca las IP salientes de Deliverect presentes aquí. Aunque estas no deberían cambiar, podrían hacerlo y cualquier cambio será comunicado con un tiempo razonable de antelación.
Notas
IP interna del host POS
Cuando configure el firewall para abrir el puerto para el Host POS, asegúrese de que el firewall siempre apunte al mismo host. Esta configuración puede ser diferente por cortafuegos y puede permitir diferentes configuraciones (por ejemplo: a una dirección MAC o a una dirección IP). Si la configuración requiere una dirección IP, asegúrese de que el host POS tiene una IP fija interna en la red.
2. Proxy inverso dentro de la red del cliente
Descripción
Para la configuración, es necesario establecer el proxy inverso, su autenticación, y los puertos que necesitan ser configurados en el cortafuegos para exponerlo. (Esto debe ser discutido con antelación antes de la implementación).
Si el cliente tiene una forma centralizada de acceder a la red donde se encuentran los distintos TPV, basta con configurar un proxy inverso para llegar a todos ellos. En este caso, las partes interesadas deberían llegar a un acuerdo sobre cómo un proxy inverso permitirá conectarse a diferentes TPV (por ejemplo, diferentes subdominios o rutas URI).
De no ser así, será necesario configurar un proxy inverso por red.
Tras la configuración, los servicios Deliverect enviarán la solicitud al proxy inverso y, de acuerdo con sus reglas, la solicitud se redirigirá al TPV de destino.
Pasos de la instalación
Etapa 1. Llegar a un acuerdo entre las partes interesadas para:
El proxy inverso a utilizar (por ejemplo, Nginx, Apache)
Autenticación (por ejemplo, autenticación básica, certificados autofirmados)
Puertos a exponer (el uso de puertos no convencionales puede ayudar a mejorar la seguridad).
Etapa 2. Como práctica recomendada, debería configurarse un FQDN que apunte a la dirección IP del proxy inverso.
Etapa 3. Configurar el proxy inverso con las instrucciones proporcionadas por Deliverect (se proporcionará una lista con las características requeridas).
Etapa 4. Garantizar el acceso desde el proxy inverso al TPV (esto requiere echar un vistazo a la topología de la infraestructura del cliente).
Etapa 5. Configurar el cortafuegos para exponer el puerto al proxy inverso.
Etapa 6. En este punto, comparte con el gestor de tu cuenta Deliverect los diferentes subdominios o URIs para poder llegar al TPV
3. Túnel TCP a la red del cliente
(No sugerido para despliegues a gran escala)
Descripción
Los dos primeros casos se aconsejan cuando la configuración del firewall para exponer puertos es una opción (con reglas de seguridad o no, como listas blancas de IP). Cuando este no es el caso, permitimos el uso de un túnel TCP entre el cliente y Deliverect.
Pasos de la instalación
Antes de comenzar la instalación, si alguna instancia del túnel estaba previamente instalada, por favor desinstálela. (Las instrucciones se encuentran en la sección "Notas")
Windows
Etapa 1. Descargar el instalador Descargue el instalador (elija uno de los siguientes: enlace)
Etapa 2. Ejecute el instalador con los siguientes parámetros Ejecute el instalador con los siguientes parámetros:
Token: Este debe ser solicitado a Deliverect
Puerto: El puerto en el que se ejecuta el servicio POS
Etapa 3. Siga la redirección del instalador (acceda al siguiente enlace en el navegador https://localhost:4040) para confirmar que funciona y ver el dominio del túnel.
Etapa 4. Pida a su gestor de cuenta (en Deliverect) que actualice su channel-link y añada la nueva URL del TPV: https://DOMAIN-SHOWN-ABOVE.tunnel.deliverect.com (proporcione la URL https)
Etapa 5. Envíe un pedido para confirmar que la configuración funciona.
Notas
Seguridad
Sólo los servicios dentro de la red de Deliverect podrán enviar solicitudes a través del servidor de túnel TCP (servicios POS proxy).
Esta solución aún no se ha probado en grandes entornos en vivo y no se aconseja para sistemas de producción.
Desinstalar
Desinstalar navegando a la carpeta de instalación (para Windows, probablemente se puede encontrar en "Archivos de programa (x86)/deliverect-túnel") y ejecute el archivo de desinstalación (unis000.exe).
Detalles adicionales
Identifique si el ISP proporciona una IP pública estática o dinámica. Esto debe ser identificado por ISP o tal vez por país.
Nota: En la mayoría de los casos, siempre existe la posibilidad de solicitar/comprar la IP estática en los servicios del ISP.
Ejemplos/Comprobaciones
Comprobar puerto abierto
Si necesitas comprobar un puerto puedes utilizar varias herramientas (por ejemplo, Nmap).
Si el puerto expuesto no está abierto públicamente, se puede utilizar Nmap (ejemplo de Nmap TBD).
Por otro lado, si el puerto es uno abierto públicamente, una herramienta para comprobar si el puerto esperado está abierto en el cortafuegos es canyouseeme.org.
Si el puerto está abierto y el servicio se está ejecutando en ese puerto, debería ver un intento de puerto de conexión con éxito (ejemplo a continuación).