IIS para enrutar a https

<< Haga clic para mostrar la tabla de contenido >>

Navegación:  Rest API >

IIS para enrutar a https

Para cambiar el API Rest a https, es necesario hacer esta configuración en su servidor IIS. Claro que para esto debe contar con un SSL ya cargado en su IIS.

 

Es importante recalcar que para los WebHooks de Whatsapp es necesario que el servicio de API sea https, asi como otros servicios tal como DiDi.

 

 

INSTALAR EXTENSIONES

 

Microsoft retiró hace poco su instalador automático (Web Platform Installer), así que lo mejor es bajarlos manualmente desde los sitios oficiales de IIS.net.

Aquí tienes los enlaces directos para Windows de 64 bits (que es lo normal en servidores actuales):

 

1. URL Rewrite (El motor de redirección)

Es el primer módulo que debes instalar.

Enlace: https://www.iis.net/downloads/microsoft/url-rewrite

Baja hasta encontrar el botón "Install this extension" o busca los "Direct Downloads" al final de la página y elige x64 installer.

 

2. Application Request Routing - ARR (El que permite el Proxy)

 

Este módulo le da a IIS la capacidad de reenviar tráfico a otro puerto.

Enlace: https://www.iis.net/downloads/microsoft/application-request-routing

Igual que el anterior, busca el botón "Install this extension" o el instalador x64.

 

 

 

PASOS PARA LA INSTALACION

1.Cierra el Administrador de IIS si lo tienes abierto.

2.Instala primero URL Rewrite.

3.Instala después ARR (Application Request Routing).

4.Reinicia el IIS completo:

oAbre una consola (CMD) como administrador.

oEscribe: iisreset y dale a Enter.

5.Abre de nuevo el Administrador de IIS y ahora deberías ver los iconos de "URL Rewrite" y "Application Request Routing Cache" en el panel central cuando haces clic en el nombre del servidor.

 

¿Cómo saber si ya quedaron instalados?

En el Administrador de IIS, selecciona tu servidor en el árbol de la izquierda. En la sección "IIS" del panel central, deben aparecer estos dos iconos:

Un icono de una flecha verde curva (URL Rewrite).

Un icono de una caja con flechas (Application Request Routing Cache).

 

 

 

CONFIGURAR IIS

 

Ahora vamos a configurar el "túnel" para que IIS reciba las peticiones seguras (HTTPS) y se las pase a tu servidor Delphi (HTTP).

Sigue estos pasos detallados:

 

Paso 1: Habilitar el Proxy en ARR

1.Abre el Administrador de IIS.

2.En el panel de la izquierda, haz clic en el Nombre de tu Servidor.

3.En el panel central, busca y abre el icono Application Request Routing Cache.

4.En el panel de la derecha (Actions), haz clic en Server Proxy Settings....

5.Marca la casilla que dice Enable proxy.

6.Desmarca la casilla que dice Reverse rewrite host in response headers (esto es importante para que XData no se confunda).

7.Haz clic en Apply (panel derecho).

 

Paso 2: Crear la regla de reenvío en tu Sitio

1.En el panel de la izquierda, despliega "Sites" y selecciona tu sitio: (Ejemplo) cloud.cwinsystems.net.

2.En el panel central, abre el icono URL Rewrite.

3.En el panel de la derecha, haz clic en Add Rule(s)....

4.Selecciona Inbound Rules -> Blank Rule y dale OK.

Configura la regla con estos datos EXACTOS:

Name: ProxyXData

Requested URL: Matches the Pattern

Using: Regular Expressions

Pattern: ^service/(.*) (esto significa: "todo lo que empiece con service/")

Ignore Case: Marcado.

En la sección de abajo (Action):

Action type: Rewrite

Rewrite URL: http://localhost:8889/service/{R:1}

Append query string: Marcado.

Stop processing of subsequent rules: Marcado.

Haz clic en Apply en el panel de la derecha.

 

Paso 3: Prueba de fuego (La Verificación)

Ahora vamos a probar si el túnel funciona. Abre tu navegador y escribe esta URL HTTPS (sin el puerto 8889):

 

https://cloud.cwinsystems.net/service/DisPROAPI/WA_Webhook?hub.mode=subscribe&hub.verify_token=MiTokenSeguro123&hub.challenge=EXITO_IIS

 

o tambien

https://cloud.cwinsystems.net/service/DisPROAPI/GetEmpresa

 

 

¿Qué debería pasar?

1.Si te responde EXITO_IIS: ¡Felicidades! El túnel está perfecto. IIS recibió la petición segura y se la pasó a tu Delphi correctamente.

2.Si te da error 502.3 (Bad Gateway): Significa que IIS no puede encontrar tu servidor ApiRest. Asegúrate de que el programa de Delphi esté corriendo y escuchando en el puerto 8889.

3.Si te da error 404: Revisa que el pattern en la regla de IIS sea exactamente ^service/(.*).

 

 

Nota: El dominio cloud.cwinsystems.net es un ejemplo, usted debe remplazarlo por el dominio que tenga instalado en su servidor.

Vea también

Tipo Servidor de WebApp