Tengo alojado un sitio web en una instancia EC2. ¿Cómo se permite que los usuarios se conecten a través de HTTP (80) o HTTPS (443)?

Actualización más reciente: 26 de septiembre de 2022

El sitio web está alojado en una instancia de Amazon Elastic Compute Cloud (Amazon EC2). Quiero que los usuarios se conecten a mi sitio web en HTTP (puerto 80) o HTTPS (puerto 443). ¿Cómo puedo hacer esto?

Resolución

Para permitir tráfico en los puertos 80 y 443, debe configurar el grupo de seguridad asociado y la lista de control de acceso de red (ACL de red).

Reglas de grupos de seguridad

Para el tráfico HTTP, agregue una regla de entrada en el puerto 80 desde la dirección fuente 0.0.0.0/0.

Para el tráfico HTTPS, agregue una regla de entrada en el puerto 443 desde la dirección fuente 0.0.0.0/0.

Estas reglas de entrada permiten el tráfico desde direcciones IPv4. Para permitir el tráfico IPv6, agregue reglas de entrada en los mismos puertos desde la dirección fuente ::/0. Para obtener más información sobre la creación o modificación de grupos de seguridad, consulte Controlar el tráfico hacia los recursos mediante grupos de seguridad.

Los grupos de seguridad tienen estado, por lo que se permite automáticamente el tráfico de retorno desde la instancia a los usuarios. No necesita modificar las reglas de salida del grupo de seguridad.

Nota: El siguiente ejemplo muestra las reglas del grupo de seguridad para permitir el tráfico IPv4 e IPv6 en el puerto TCP 80 (HTTP) y 443 (HTTPS). Determine si otros orígenes de tráfico, como SSH o RDP para iniciar sesión en la instancia, se deben permitir según su caso de uso. A continuación, asegúrese de que el grupo de seguridad cuenta con las reglas de entrada pertinentes para permitir el tráfico necesario.

Reglas de entrada

Tipo Protocolo Rango de puertos Fuente
HTTP (80) TCP (6) 80 0.0.0.0/0
HTTP (80) TCP (6) 80 ::/0
HTTPS (443) TCP (6) 443 0.0.0.0/0
HTTPS (443) TCP (6) 443 ::/0

ACL de red

La lista de control de acceso (ACL) de red predeterminada permite todo el tráfico IPv4 entrante y saliente. Si los usuarios se conectan a través de IPv6 y Amazon Virtual Private Cloud (Amazon VPC) cuenta con un bloque de CIDR IPv6 asociado, la ACL de red predeterminada también agregará automáticamente reglas que permitan todo el tráfico IPv6 entrante y saliente. Sin embargo, si utiliza una ACL de red personalizada con reglas más restrictivas, deberá permitir explícitamente el tráfico en el puerto 80 y 443.

Las ACL de red no tienen estado, por lo que es necesario agregar reglas tanto de entrada como de salida para permitir la conexión al sitio web. Para obtener más información sobre cómo modificar las reglas de la ACL de red, consulte Controlar el tráfico a las subredes mediante las ACL de red.

Nota: El siguiente ejemplo muestra una ACL de red personalizada que permite el tráfico en el puerto TCP 80 (HTTP) y 443 (HTTPS). Las ACL de red se aplican a todos los recursos de una subred completa, no a una sola instancia de EC2. En la configuración del ejemplo, todo el tráfico hacia y desde los recursos de la misma subred está bloqueado, excepto en el puerto de destino 80 y 443. Determine si otros orígenes de tráfico, como SSH o RDP para iniciar sesión en la instancia, se deben permitir según su caso de uso. A continuación, asegúrese de que cuenta con las reglas de entrada pertinentes para permitir el tráfico necesario.

Reglas de entrada

N.º de regla Tipo Protocolo Rango de puertos Fuente Permitir o denegar
100 HTTP (80) TCP (6) 80 0.0.0.0/0 PERMITIR
101 HTTPS (443) TCP (6) 443 0.0.0.0/0 PERMITIR
102 HTTP (80) TCP (6) 80 ::/0 PERMITIR
103 HTTPS (443) TCP (6) 443 ::/0 PERMITIR
* TODO el tráfico TODO TODO ::/0 DENEGAR
* TODO el tráfico TODO TODO 0.0.0.0/0 DENEGAR

Reglas de salida

N.º de regla Tipo Protocolo Rango de puertos Destino Permitir o denegar
100 Regla TCP personalizada TCP (6) 1024-65535 0.0.0.0/0 PERMITIR
101 Regla TCP personalizada TCP (6) 1024-65535 ::/0 PERMITIR
* TODO el tráfico TODO TODO ::/0 DENEGAR
* TODO el tráfico TODO TODO 0.0.0.0/0 DENEGAR

Solucione un error de conexión rechazada

Un error de conexión rechazada significa que la solicitud de conexión se dirige a la instancia pero no se recibe del servicio en el puerto especificado. Si el host A inicia una conexión TCP con el host B y recibe un error de conexión rechazada, ese error significa lo siguiente:

  • En primer lugar, el host A envió un paquete TCP SYN al host B.
  • Posteriormente, el host B envió un paquete TCP RST en respuesta al host A.

Si aparece este error, incluso después de permitir los puertos TCP 80 y 443 en el grupo de seguridad y en la ACL de red, resuelva este problema de la siguiente manera:

  • El daemon de servicio, como httpd (Apache), no está en ejecución o se encuentra en un estado detenido.

Para solucionar el problema, compruebe si el servicio está en estado de ejecución en la instancia de EC2.

  • El servicio escucha en un puerto incorrecto.

Para solucionar el problema, compruebe si la instancia de EC2 escucha en el puerto TCP requerido (80/443).

  • El puerto está bloqueado por un firewall.

Para solucionar el problema, compruebe si un firewall a nivel de sistema operativo en la instancia de EC2 bloquea el tráfico TCP entrante en el puerto requerido.


¿Le resultó útil este artículo?


¿Necesita asistencia técnica o con la facturación?