Cómo abrir un puerto de servidor web en una instancia EC2

94

Estoy ejecutando un servidor web CherryPy 0.0.0.0:8787en una instancia EC2.

Puedo conectarme al servidor web a través de local wgeten la máquina EC2, pero no puedo acceder a la instancia desde mi propia máquina remota (me conecto a EC2 a través de ssh).

¿Necesito abrir el puerto 8787 para acceder al servidor web de forma remota? Si es así, ¿cómo se puede hacer esto? Además, ¿puedo usar la IP pública de la instancia EC2 para esto?

Gato
fuente
Posible duplicado del puerto
bain
48
correcto, debería haber anticipado que alguien haría la misma pregunta un año después
Cat
2
Si abre un puerto no estándar (por ejemplo, 8787) en la instancia EC2 e intenta acceder al host desde una red corporativa pero no puede hacerlo, es posible que su organización esté bloqueando el acceso saliente a ese puerto. En ese caso, mira esta respuesta .
Vinayak

Respuestas:

136

Siga los pasos que se describen en esta respuesta, en lugar de usar el menú desplegable, escriba el puerto (8787) en "rango de puertos" y luego "Agregar regla".

Go to the "Network & Security" -> Security Group settings in the left hand navigation

ingrese la descripción de la imagen aquí Busque el grupo de seguridad del que forma parte su instancia Haga clic en Reglas de entrada ingrese la descripción de la imagen aquí Utilice el menú desplegable y agregue HTTP (puerto 80) ingrese la descripción de la imagen aquí Haga clic en Aplicar y disfrute

cyraxjoe
fuente
No veo "Aplicar". Solo veo "Guardar". Cuando hago clic en "Guardar" no está abriendo mi puerto 3000, ¿hay un botón "Aplicar" en alguna parte?
Noitidart
1
@Noitidart Save es lo que quiere decir. Pero estoy seguro de que ya te
habrás dado cuenta
Gracias @mattdevio, parece funcionar, pero no desde ciertas ubicaciones, creo que podría haber estropeado algo.
Noitidart
Además, verifique la solución proporcionada por @SurajKj si está tratando con una instancia de Windows EC2. Esa solución junto con esta funcionó para mí.
Utkarsh Gupta
No me quedó claro de inmediato a partir de las instrucciones vinculadas, pero debe seleccionar "TCP personalizado". De lo contrario, no podrá cambiar el puerto.
KKOrange
30

Debe abrir el puerto TCP 8787 en el grupo de seguridad ec2. También es necesario abrir el mismo puerto en el firewall de la instancia EC2.

dmohr
fuente
¿Lo usa iptables?
Raffi Khatchadourian
¿Cómo, hay un enlace o tutorial para hacerlo?
Soumitri Pattnaik
5
¿Cómo abre el puerto en el firewall de la instancia EC2?
Mahshid Zeinaly
2
@MahshidZeinaly parallels.com/blogs/ras/...
Vikas Bansal
1
Entonces esto es para Windows. ¡No creo que para ubuntu tengas que hacer nada! Simplemente abra el grupo de seguridad para Ubuntu
Mahshid Zeinaly
9

Debe configurar el grupo de seguridad como lo indica cyraxjoe. Junto con eso, también debe abrir el puerto del sistema. Pasos para abrir el puerto en Windows: -

  1. En el menú Inicio, haga clic en Ejecutar, escriba WF.msc y luego haga clic en Aceptar.
  2. En el Firewall de Windows con seguridad avanzada, en el panel izquierdo, haga clic con el botón derecho en Reglas de entrada y luego haga clic en Nueva regla en el panel de acciones.
  3. En el cuadro de diálogo Tipo de regla, seleccione Puerto y luego haga clic en Siguiente.
  4. En el cuadro de diálogo Protocolo y puertos, seleccione TCP. Seleccione Puertos locales específicos y luego escriba el número de puerto, como 8787 para la instancia predeterminada. Haga clic en Siguiente.
  5. En el cuadro de diálogo Acción, seleccione Permitir la conexión y luego haga clic en Siguiente.
  6. En el cuadro de diálogo Perfil, seleccione los perfiles que describan el entorno de conexión de la computadora cuando desee conectarse y luego haga clic en Siguiente.
  7. En el cuadro de diálogo Nombre, escriba un nombre y una descripción para esta regla y luego haga clic en Finalizar.

Ref: - Microsoft Docs para apertura de puertos

SurajKj
fuente
1
Estuve atascado con el problema durante mucho tiempo; Funcionó como por arte de magia. ¡Muchas gracias! Esta solución necesita más tracción.
Utkarsh Gupta