Ongoing service disruptions
For the most recent update on ongoing service disruptions affecting the AWS Middle East (UAE) Region (ME-CENTRAL-1), refer to the AWS Health Dashboard. For information on AWS Service migration, see How do I migrate my services to another region?
¿Por qué no puedo conectarme a un sitio web alojado en mi instancia de EC2?
No puedo conectarme a un sitio web público alojado en mi instancia de Amazon Elastic Compute Cloud (Amazon EC2).
Descripción corta
Para resolver los problemas de sitios web inaccesibles, comprueba que has configurado correctamente la configuración del sitio web de la instancia de EC2. La configuración incorrecta del servidor web de la instancia bloquea el acceso a todos los sitios web alojados en ella.
Resolución
Comprobar si la instancia se está ejecutando y supera ambas comprobaciones de estado
Comprueba la consola de Amazon EC2 para comprobar que la instancia se está ejecutando. Para solucionar los problemas de comprobación de estado, consulta ¿Por qué mi instancia de EC2 de Linux no es accesible y no supera una o ninguna de las comprobaciones de estado?
Además, usa la salida de la consola de instancias y una captura de pantalla de la instancia para comprobar si la instancia se inicia correctamente.
Comprobación de la configuración de la ACL de la red y el grupo de seguridad de la instancia
Comprueba las siguientes configuraciones de instancia:
- El grupo de seguridad asociado y la lista de control de acceso de la red (ACL de la red) permiten el tráfico en los puertos 80 y 443.
- La tabla de enrutamiento de la subred de la instancia tiene una ruta predeterminada hacia una puerta de enlace de Internet.
Comprobar que el sitio web tenga la configuración de DNS correcta
Comprueba las siguientes configuraciones de DNS de tu sitio web:
- Si el sitio web utiliza el servicio DNS de Amazon Route 53, has configurado correctamente los registros DNS.
- Has asignado una dirección IP elástica a la instancia.
Nota: La dirección IP elástica permanece asociada a la instancia aunque la detengas e inicies. - Has asignado la dirección IP pública o la dirección IP elástica a un registro A.
Comprobar que el servidor web esté funcionando y que ningún firewall del sistema operativo bloquee el acceso a los puertos
Para comprobar la configuración del puerto de red y el servidor web, sigue estos pasos:
-
Usa SSH o Session Manager, una función de AWS Systems Manager, para conectarte a la instancia. Si no puedes usar SSH o Session Manager para conectarte a instancias creadas en AWS Nitro System, utiliza la consola serie de EC2.
-
Para comprobar si el sitio web está en ejecución localmente, ejecuta el siguiente comando desde el sitio web host de instancias de EC2:
curl https://localhostO bien:
curl http://localhost:443Nota: Si tienes problemas al usar curl, comprueba si hay problemas con la configuración de la aplicación y el servidor web de la instancia.
-
Para comprobar el estado del servicio del servidor web, ejecuta el siguiente comando según el sistema operativo (SO) que ejecutes.
Red Hat Enterprise Linux (RHEL), CentOS, Fedora y Amazon Linux:sudo systemctl status httpd.serviceResultado de ejemplo:
The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) Active: inactive (dead)Debian y Ubuntu:
sudo systemctl status apache2.serviceResultado de ejemplo:
The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; disabled; vendor preset: disabled) Active: inactive (dead)En el resultado del comando, comprueba el estado inactivo.
Si tu sistema Linux ejecuta el Sistema V, ejecuta el siguiente comando para comprobar el estado del servidor web:sudo service httpd statusNota: Si ejecutas Debian o Ubuntu, sustituye httpd por apache2.
Resultado de ejemplo:httpd is stopped -
Para iniciar el servidor web y establecer el servicio para que se inicie al arrancar, ejecuta los siguientes comandos según tu sistema operativo:
RHEL, CentOS, Fedora y Amazon Linux:sudo systemctl start httpd; sudo systemctl enable httpdDebian o Ubuntu:
sudo systemctl start apache2; sudo systemctl enable apache2 -
Para comprobar que el servicio de servidor web se está ejecutando y está activado, ejecuta los siguientes comandos según tu sistema operativo:
RHEL, CentOS, Fedora y Amazon Linux:sudo systemctl status httpd.serviceResultado de ejemplo:
The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running)Debian o Ubuntu:
sudo systemctl status apache2.serviceResultado de ejemplo:
The Apache HTTP ServerLoaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running)Para iniciar un servicio de servidor web detenido para sistemas que se ejecutan en System V, ejecuta el siguiente comando:
sudo service httpd startResultado de ejemplo:
Starting httpd: [ OK ] -
Para confirmar que el servidor web escucha las solicitudes de conexión de usuarios entrantes, ejecuta el siguiente comando:
sudo netstat -tulpn|grep -i :80 tcp6 0 0 :::80 :::* LISTEN 11993/httpdNota: Ejecuta el comando anterior dos veces. La segunda vez, sustituye 80 por 443. Los servidores web escuchan el tráfico HTTP en el puerto 80 y utilizan el puerto 443 para el tráfico cifrado con TLS/SSL.
Si ejecutas varias interfaces, ejecuta el siguiente comando para confirmar que el servidor web escucha en todas las direcciones IP:cat /etc/httpd/conf/httpd.conf | grep ListenEjemplos de salidas:
Listen *:80Listen *:443 -
Si usas un firewall del sistema operativo, asegúrate de que permita solicitudes en los puertos 80 y 443.
-
(Opcional) Para comprobar que las reglas de iptables permiten las solicitudes entrantes en los puertos 80 y 443, ejecuta el siguiente comando:
sudo iptables -vnLResultado de ejemplo:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 35 10863 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibitedEn el resultado del ejemplo anterior, las reglas solo permiten el Protocolo de mensajes de control de Internet (ICMP), el host local y el puerto 22/TCP (SSH). Las reglas bloquean las conexiones entrantes al puerto TCP 80 o 443.
-
Para configurar las reglas de iptables para permitir que los puertos 80 y 443 acepten solicitudes de conexión HTTP y HTTPS entrantes, ejecuta el siguiente comando:
iptables -I INPUT -p tcp --match multiport --dports 80,443 -j ACCEPTResultado de ejemplo:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 80,443 486 104K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Comprobar las configuraciones para AL2023, AL2 y RHEL 7 y versiones posteriores
Para las instancias de Amazon Linux 2023 (AL2023), Amazon Linux 2 (AL2) y RHEL, ejecuta el siguiente comando para comprobar si el servicio firewalld se está ejecutando:
sudo firewall-cmd --state
Resultado de ejemplo:
running
Si el servicio firewalld está en ejecución, ejecuta los siguientes comandos para permitir las conexiones en los puertos TCP 80 y 443:
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --reload
Nota: Si has agregado reglas anteriormente, el comando reload vuelve a cargar el servicio y hace que las reglas entren en vigor.
Para cada comando, comprueba que el resultado sea similar al del siguiente ejemplo:
success
Comprobar las configuraciones de los servidores Debian y Ubuntu
Sigue estos pasos:
-
Para comprobar si hay un firewall sencillo (UFW), ejecuta el siguiente comando:
sudo ufw status verboseResultado de ejemplo:
Status: active -
Si estás ejecutando un UFW, utiliza el siguiente comando para permitir las solicitudes de conexión entrantes en los puertos TCP necesarios:
Puerto TCP 80:sudo ufw allow in 80/tcpPuerto TCP 443:
sudo ufw allow 443/tcp -
Para cada comando, comprueba que el resultado sea similar al del siguiente ejemplo:
Rule added Rule added (v6)
Para seguir solucionando problemas, compruebe si hay problemas en los registros de errores de acceso al servidor web en /var/log. Usa las siguientes ubicaciones predeterminadas para los registros del servidor web:
- Para Amazon Linux y RHEL, utiliza /var/log/httpd.
- Para Debian y Ubuntu, utiliza /var/log/apache2.
Nota: La ubicación del registro del servidor web depende de la configuración del servidor.
Información relacionada
¿Cómo soluciono los problemas de conexión lenta a un sitio web alojado en mi instancia de EC2?
- Temas
- Compute
- Etiquetas
- LinuxAmazon EC2
- Idioma
- Español
Vídeos relacionados


Contenido relevante
- preguntada hace 4 meses
- preguntada hace un año
- preguntada hace 6 meses
- preguntada hace 4 meses
- preguntada hace 5 meses