Ejecutar un servidor web IIS básico


Puedes controlar una instancia de máquina virtual (VM) en Compute Engine como cualquier servidor Windows estándar. En este tutorial se explica cómo desplegar un servidor web IIS sencillo para que puedas aprender los conceptos básicos de la ejecución de un servidor web en una VM.

Antes de empezar

Necesitarás una nueva instancia de Windows con el tráfico HTTP permitido.

  • Sigue las instrucciones de la guía de inicio rápido para crear una instancia de Windows y conectarte a ella con RDP.

Instalar IIS

  1. En la barra de tareas de Windows, en el campo de búsqueda, escribe PowerShell y, a continuación, pulsa Enter. Si no hay ningún campo de búsqueda en la barra de tareas, haz clic en el icono de búsqueda, escribe PowerShell y, a continuación, pulsa Enter. Si no aparece ni el campo de búsqueda ni el icono de búsqueda en la barra de tareas, consulta el artículo sobre cómo ocultar y mostrar el cuadro de búsqueda en Windows.

  2. En los resultados de búsqueda, en Aplicaciones, haz clic con el botón derecho en Windows PowerShell y selecciona Ejecutar como administrador.

  3. Instala los servicios de IIS con los siguientes comandos:

    import-module servermanager
    
    add-windowsfeature web-server -includeallsubfeature
    
  4. Sobrescribe la página web predeterminada del servidor web IIS con el siguiente comando:

    echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' > C:\inetpub\wwwroot\index.html
    

Probar el servidor

Comprueba que tu instancia esté sirviendo tráfico en su IP externa:

  1. En la consola de Google Cloud , ve a la página Instancias de VM.

    Ir a instancias de VM

  2. Para ver la página Hello World!, copia la dirección IP de la columna IP externa y pégala en una nueva pestaña del navegador. Si no ves la página Hello World!, sigue los pasos para solucionar problemas.

Limpieza

Cuando hayas terminado de experimentar, sigue las instrucciones de limpieza de la guía de inicio rápido para evitar que se te cobren cargos por esta instancia.

Solución de problemas

Recibo un error Connection Refused

Si aparece un error Connection Refused, es posible que:

  • Tu instancia de VM no es accesible públicamente porque tus reglas de cortafuegos o etiquetas están mal configuradas de una de las siguientes formas:

    • La instancia de VM no tiene la etiqueta adecuada que permite a Compute Engine aplicar las reglas de cortafuegos correspondientes a tu instancia.
    • Tu proyecto no tiene una regla de cortafuegos que permita el tráfico a la dirección IP externa de tu instancia.
  • Estás intentando acceder a la VM mediante una dirección https. Comprueba que tu URL sea http://[EXTERNAL_IP] en lugar de https://[EXTERNAL_IP].

Para asegurarte de que tu instancia de VM tiene las etiquetas correctas, sigue estos pasos:

  1. En la consola de Google Cloud , ve a la página Instancias de VM.

    Ir a instancias de VM

  2. Haz clic en el nombre de la instancia a la que intentas conectarte.
  3. En la parte superior de la página, haz clic en Editar.
  4. Desplázate hacia abajo hasta Cortafuegos y asegúrate de que la casilla Permitir el tráfico HTTP esté marcada. Si no está marcada, márcala.
  5. Guarda los cambios. De esta forma, se asegura de que se añadan las etiquetas correctas a la instancia de VM.

Para asegurarte de que existe la regla de cortafuegos correcta, sigue estos pasos:

  1. En la Google Cloud consola, ve a la página Reglas de cortafuegos.

    Ir a reglas de cortafuegos

  2. Busca una regla de cortafuegos que permita todos los intervalos de IPs a través de tcp:80. Por lo general, esta regla se denomina regla default-allow-http.
  3. Si no existe ninguna regla, crea una.
    1. Haz clic en Crear regla de cortafuegos.
    2. Asigna un nombre a la regla, como default-allow-http.
    3. En Intervalos de IPs de origen, introduzca 0.0.0.0/0 para permitir el tráfico de todas las fuentes.
    4. En Protocolos y puertos, marca Protocolos y puertos especificados e introduce tcp:80.
    5. Crea la regla de cortafuegos.

Vuelve a probar el servidor. Para ello, ve a la dirección IP externa de la instancia:

http://[EXTERNAL_IP]