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

6 minutos de lectura
0

Tengo alojado mi sitio web en una instancia de Amazon Elastic Compute Cloud (Amazon EC2). Quiero que los usuarios se conecten a mi sitio web mediante HTTP (puerto 80) o HTTPS (puerto 443).

Solución

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

Reglas del grupo de seguridad

En el caso del tráfico HTTP, añada una regla de entrada en el puerto 80 desde la dirección de origen 0.0.0.0/0.

En el caso del tráfico HTTPS, añada una regla de entrada en el puerto 443 desde la dirección de origen 0.0.0.0/0.

Estas reglas de entrada permiten el tráfico desde direcciones IPv4. Para permitir el tráfico IPv6, añada reglas de entrada en los mismos puertos desde la dirección de origen ::/0. Para obtener más información sobre la creación o modificación de grupos de seguridad, consulte Control traffic to resources using security groups.

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

Nota: En el siguiente ejemplo se muestran las reglas del grupo de seguridad para permitir el tráfico IPv4 e IPv6 en los puertos TCP 80 (HTTP) y 443 (HTTPS). Determine si se deben permitir otras fuentes de tráfico, como SSH o RDP para iniciar sesión en la instancia en su caso de uso. A continuación, asegúrese de que su grupo de seguridad tenga las reglas de entrada pertinentes para permitir el tráfico necesario.

Reglas de entrada

TipoProtocoloIntervalo de puertosOrigen
HTTP (80)TCP (6)800.0.0.0/0
HTTP (80)TCP (6)80::/0
HTTPS (443)TCP (6)4430.0.0.0/0
HTTPS (443)TCP (6)443::/0

ACL de red

La ACL de red predeterminada permite todo el tráfico IPv4 de entrada y salida. Si sus usuarios se conectan a través de IPv6 y su Amazon Virtual Private Cloud (Amazon VPC) tiene un bloque CIDR de IPv6 asociado, la ACL de red predeterminada también añadirá automáticamente reglas que permitan todo el tráfico IPv6 de entrada y salida. Sin embargo, si usa una ACL de red personalizada con reglas más restrictivas, deberá permitir el tráfico en los puertos 80 y 443 explícitamente.

Las ACL de red no tienen estados, por lo que deberá añadir reglas de entrada y salida para permitir la conexión a su sitio web. Para obtener más información sobre la modificación de las reglas de ACL de la red, consulte Control traffic to subnets using Network ACLs.

Nota: En el siguiente ejemplo se muestra una ACL de red personalizada que permite el tráfico en los puertos TCP 80 (HTTP) y 443 (HTTPS). Las ACL de red se aplican a todos los recursos de una subred completa, no solo a una única instancia de EC2. En la configuración del ejemplo, se bloquea todo el tráfico desde los recursos de la misma subred y hacia estos, excepto en los puertos de destino 80 y 443. Determine si se deben permitir otras fuentes de tráfico, como SSH o RDP para iniciar sesión en la instancia en su caso de uso. A continuación, asegúrese de tener las reglas de entrada pertinentes para permitir el tráfico necesario.

Reglas de entrada

N.º de reglaTipoProtocoloIntervalo de puertosOrigenPermitir/Denegar
100HTTP (80)TCP (6)800.0.0.0/0ALLOW
101HTTPS (443)TCP (6)4430.0.0.0/0ALLOW
102HTTP (80)TCP (6)80::/0ALLOW
103HTTPS (443)TCP (6)443::/0ALLOW
*ALL TrafficALLALL::/0DENY
*ALL TrafficALLALL0.0.0.0/0DENY

Reglas de salida

N.º de reglaTipoProtocoloIntervalo de puertosDestinoPermitir/Denegar
100Regla TCP personalizadaTCP (6)1024-655350.0.0.0/0ALLOW
101Regla TCP personalizadaTCP (6)1024-65535::/0ALLOW
*ALL TrafficALLALL::/0DENY
*ALL TrafficALLALL0.0.0.0/0DENY

Solución del error de conexión rechazada

Un error de conexión rechazada significa que la solicitud de conexión se enruta a la instancia, pero no se recibe desde el 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.
  • A continuación, el host B envió un paquete TCP RST en respuesta al host A.

Si se produce este error, incluso después de permitir los puertos TCP 80 y 443 en el grupo de seguridad y la ACL de red, solucione los siguientes problemas:

  • El daemon de servicio, como httpd (Apache), no se está ejecutando o está detenido.

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

  • El servicio escucha en un puerto incorrecto.

Para solucionarlo, compruebe si la instancia de EC2 escucha en el puerto TCP necesario (80/443).

  • El puerto está bloqueado por un firewall.

Para solucionarlo, compruebe si un firewall en el nivel del sistema operativo en la instancia de EC2 bloquea el tráfico TCP de entrada en el puerto necesario.

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años