Microsoft Internet Information Services (IIS) por defecto no permite realizar Proxy Inverso, para ello es necesario instalar con Web Platform Installer la extensión de enrutamiento de solicitudes de aplicación (ARR) y utilizar el módulo de reescritura de URL para implementar un servidor proxy inverso para aplicaciones de back-end.
En este artículo explicará cómo realizarlo creando un escenario previamente, en caso de tener instalado el servidor Web y tu aplicación implementada haz clic aquí para saltar la configuración del escenario de ejemplo.
Preparación de escenario
Instalación de Internet Information Services (IIS)
Para instalar el servidor Web, utiliza el administrador del servidor para agregar el rol:
Tienes más información sobre la instalación y configuración de IIS en el siguiente artículo Configuración de dominio en IIS con Windows Server.
Instalación de ejemplo de aplicación Werkzeug para Proxy
Para el escenario de ejemplo se utilizará Werkzeug y se creará un aplicación de ejemplo para realizar Proxy inverso. Por lo tanto, descarga el ejecutable del instalador de Python para Windows de la página oficial:
https://www.python.org/ftp/python/3.10.2/python-3.10.2-amd64.exe
Ejecútalo con permisos de administrador y recuerda activar la casilla de añadir Python al PATH:
Una vez completada la instalación, abre un CMD o Powershell con permisos de administrador e instala Werkzeug:
# pip install Werkzeug
Luego crea un fichero con nombre app.py con el siguiente contenido:
from werkzeug.wrappers import Request, Response
@Request.application
def application(request):
return Response('Hello, World!')
if __name__ == '__main__':
from werkzeug.serving import run_simple
run_simple('localhost', 4000, application)
Posteriormente, ejecútalo desde la consola de Windows (añade la ruta en caso necesario):
# py appw.py
Deberá aparecer lo siguiente:
* Running on http://localhost:4000/ (Press CTRL+C to quit)
Por lo tanto, la aplicación para el Proxy Inverso estará preparada.
Instalación y configuración de extensión para Proxy
Con un servidor Web IIS instalado previamente, descarga la extensión enrutamiento de solicitudes de aplicación necesaria para realizar Proxy Inverso:
https://www.iis.net/downloads/microsoft/application-request-routing
Cuando haya terminado la instalación reinicia el servidor y accede de nuevo. Entra en el administrador de IIS para añadir un sitio o utilizar un existente y en entre las opciones del menú del sitio aparecerá URL Rewrite. Haz clic dicho módulo:
En el menú de URL Rewrite añade una regla, aparecerá una nueva ventana y haz clic en Reverse Proxy:
En la nueva ventana de agregar regla de proxy inverso, configúralo para tu aplicación. En este artículo, configuramos el Werkzeug instalado a paso preparación de escenario:
Añade en Regla de entrada tu aplicación, seleccionar el sitio destino (en este ejemplo el hostname) y luego comprueba que el Proxy inverso funciona correctamente con un navegador Web:
Recuerda que puedes adquirir un certificado SSL gratuito con Let's Encrypt para configurar el HTTPS con IIS y puedes seguir el siguiente artículo para ello Instalar certificado Let’s Encrypt en Windows Server.
Esperamos haberte ayudado con este tutorial. ¿Lo has probado? ¡Déjanos tus comentarios! 🙂
Recuerda, si tienes consultas sobre esta u otra cuestión relacionada con tus servidores en Clouding, no dudes en escribir a soporte@clouding.io ¡Estamos a tu lado para lo que necesites!