Descripción del problema
Cuando intenta conectarse a una instancia ECS en un puerto específico, la conexión falla con un error Connection timed out o Connection refused.
Causas
Bloqueo por directivas de control de acceso de red: un security group o el firewall interno de la instancia descarta las solicitudes de forma silenciosa antes de que lleguen a la aplicación. El cliente no recibe respuesta, lo que causa un error
Connection timed out.Puerto de destino sin escucha: la solicitud llega al sistema operativo de la instancia, pero ninguna aplicación escucha en el puerto de destino. El sistema operativo rechaza la solicitud, lo que causa un error
Connection refused.
Uso de la herramienta Diagnostics
La herramienta de autoservicio comprueba la configuración de security group, el firewall interno de la instancia y el estado de escucha de puertos, y después genera un informe de diagnóstico.
Click to open the Self-service Troubleshooting page and select the target region.
Si la herramienta no puede identificar el problema, continúe con los pasos a continuación.
Solución de problemas manual
Connection timed out
-
Revise las reglas de security group. Compruebe que una regla de entrada permite el acceso al puerto de destino y que ninguna regla de denegación de prioridad más alta la anula.
Vaya a la página ECS console - Instances. Haga clic en el ID de la instancia para abrir su página de detalles.
En la página de detalles de la instancia, haga clic en la pestaña Security Groups y después haga clic en el ID del security group para abrir su página de detalles.
-
En la pestaña Inbound Rules, revise las reglas:
Revise las reglas de denegación: compruebe que ninguna regla de denegación de prioridad alta bloquea el acceso.
Revise las reglas de permiso: confirme que existe una regla de permiso para la dirección IP de origen y el puerto de destino.
-
Revise el firewall interno de la instancia:
Alibaba Cloud Linux
-
Inicie sesión en una instancia ECS.
Vaya a ECS console - Instances. En la esquina superior izquierda, seleccione la región y el resource group de la instancia de destino.
Vaya a la página de detalles de la instancia de destino. Haga clic en Connect y seleccione Workbench. Siga las indicaciones en pantalla para acceder a la terminal.
-
Consulte los puertos abiertos en el firewall:
firewall-cmd --list-all -
Si el puerto de destino no aparece en la lista, agregue una regla de firewall. Reemplace
<PORT>por el número de puerto real:firewall-cmd --zone=public --add-port=<PORT>/tcp --permanent -
Reinicie el firewall para aplicar la nueva regla:
firewall-cmd --reload
Ubuntu
-
Inicie sesión en una instancia ECS.
Vaya a ECS console - Instances. En la esquina superior izquierda, seleccione la región y el resource group de la instancia de destino.
Vaya a la página de detalles de la instancia de destino. Haga clic en Connect y seleccione Workbench. Siga las indicaciones en pantalla para acceder a la terminal.
-
Compruebe el estado de UFW y las reglas configuradas:
sudo ufw status -
Si el puerto de destino no aparece en la lista, agregue una regla de firewall. Reemplace
<PORT>por el número del puerto de destino:sudo ufw allow <PORT>/tcp -
Reinicie el firewall para aplicar la nueva regla:
sudo ufw reload
Windows
-
Inicie sesión en una instancia ECS.
Vaya a ECS console - Instances. En la esquina superior izquierda, seleccione la región y el resource group de la instancia de destino.
Vaya a la página de detalles de la instancia de destino. Haga clic en Connect y seleccione Workbench. Establezca el método de conexión en Terminal Connection, introduzca su nombre de usuario y contraseña, e inicie sesión en la terminal gráfica.
-
Abra Windows Defender Firewall with Advanced Security:
Busque Server Manager en la barra de tareas y ábralo.
En Server Manager, elija .
-
Compruebe y habilite la regla de entrada obligatoria:
Compruebe el estado del firewall. Si está deshabilitado, no se requiere ninguna acción adicional.
Si está habilitado, haga clic en Inbound Rules en el panel izquierdo.
Busque Windows Remote Management - Compatibility Mode (HTTP-In).
Si no está habilitada, haga clic con el botón derecho en ella y seleccione Enable Rule.
-
-
Compruebe la accesibilidad del puerto desde un cliente local (no desde la instancia ECS):
telnet <Public IP address> <Port number>Si la salida incluye
Connected to ..., el puerto es accesible.
Connection refused
Linux
-
Inicie sesión en una instancia ECS.
Vaya a ECS console - Instances. En la esquina superior izquierda, seleccione la región y el resource group de la instancia de destino.
Vaya a la página de detalles de la instancia de destino. Haga clic en Connect y seleccione Workbench. Siga las indicaciones en pantalla para acceder a la terminal.
-
Compruebe el estado de escucha del puerto. Reemplace
<PORT>por el número de puerto real:netstat -an | grep <PORT> -
Analice los resultados:
-
En escucha: si la columna State muestra
LISTEN, el puerto está escuchando correctamente.ImportanteSi la dirección de escucha es 127.0.0.1, el servicio solo acepta conexiones locales. Actualice el archivo de configuración del servicio (por ejemplo,
nginx.confpara Nginx osshd_configpara SSH) y cambie la dirección de escucha a0.0.0.0o a la dirección IP pública de la instancia. Sin escucha: si no se devuelve salida o la salida no incluye el estado
LISTEN, el servicio no se está ejecutando. Inicie el servicio.
-
Windows
-
Inicie sesión en una instancia ECS.
Vaya a ECS console - Instances. En la esquina superior izquierda, seleccione la región y el resource group de la instancia de destino.
Vaya a la página de detalles de la instancia de destino. Haga clic en Connect y seleccione Workbench. Establezca el método de conexión en Terminal Connection, introduzca su nombre de usuario y contraseña, e inicie sesión en la terminal gráfica.
-
Compruebe el puerto con PowerShell:
Busque PowerShell en la barra de tareas y ábralo.
-
Compruebe el estado de escucha del puerto. Reemplace
<PORT>por el número de puerto real:netstat -ano | findstr "<PORT>" -
Analice los resultados:
En escucha: si la salida contiene
LISTEN, el puerto está escuchando correctamente. Si la dirección de escucha es127.0.0.1, el servicio solo acepta conexiones locales. Cambie la dirección de escucha de127.0.0.1a0.0.0.0o a la dirección IP pública de la instancia en el archivo de configuración del servicio.Sin escucha: si no se devuelve salida o la salida no incluye el estado
LISTEN, el servicio no se está ejecutando. Inicie el servicio.