2012-07-09 667 views
11

Tengo un sitio ASP.NET MVC alojado en un servicio de Amazon EC2. Quiero establecer la implementación automática con MS WebDeploy en este sitio. Encontré un excelente artículo sobre esto: Automating Deployment with Microsoft Web Deploy.¿Cómo implementar la aplicación ASP.NET en Amazon EC2 utilizando MS WebDeploy?

No puedo llegar a https://mySite:8172/MsDeploy.axd porque el puerto 8172 está cerrado en Amazon de forma predeterminada. No estoy muy familiarizado con la configuración del servicio EC2, así que no puedo encontrar la manera de abrir este puerto a través del protocolo https. He reconfigurado IIS para usar el puerto predeterminado (433) y estaba abierto este puerto en el grupo de seguridad de Amazon que se usa para mi sitio.

Ahora he intentado abrir https://mySite/MsDeploy.axd en un navegador web. IE solicita credenciales, toma nota de un error de certificado (hice clic en "Continuar ...") y me remite a 404.

Solo para estar seguro, traté de implementar a través de VS 2010 y, por supuesto, no funciona .

¿Alguien con experiencia en el uso de MS Web Deploy en Amazon EC2 me puede decir lo que estoy haciendo mal?

+1

Dos cosas. Primero: para abrir el puerto 8172, necesita a) Abrirlo en el grupo de seguridad de su instancia de EC2, en AWS Control Panel/EC2/Security Groups. b) Abra Windows Firewall. Segundo: el error de certificado ocurre porque lo más probable es que no exista un certificado en su instancia, o porque su Nombre común no coincide con el FQDN de la instancia. El 404 es un síntoma de que la implementación no está disponible en IIS. – Viccari

+0

Acerca del primer paso: no puedo encontrar la forma de especificar el puerto que quiero abrir. Puedo elegir el tipo de puerto, por ejemplo: https y me abre 433. Pero no puedo encontrar cómo configurar el número de puerto. – RredCat

+1

En el menú desplegable 'Crear una nueva regla', seleccione' Regla TCP personalizada'. De esta forma, podrá especificar qué puerto está abriendo. Luego, elija el puerto 8192 e ingrese la dirección IP del cliente en el campo 'Fuente'. – Viccari

Respuesta

9

Dos cosas.
Primero: con el fin de abrir el puerto 8172, tiene que
a) abrirlo en el grupo de seguridad de la instancia EC2, en la AWS Panel de control/EC2/Grupos de seguridad:
En el Create a new rule desplegable, seleccione Custom TCP rule. De esta forma, podrá especificar qué puerto está abriendo. Luego, elija el puerto 8172 e ingrese la dirección IP del cliente en el campo Source.
b) Abra Windows Firewall.

Segundo: El error de certificado ocurre porque es muy probable que no exista un certificado en su instancia, o porque Common Name no coincide con el FQDN de la instancia. El 404 es un síntoma de que la implementación no está disponible en IIS.

+0

Mi comentario a esto: no hice nada con Firewall: funciona correctamente de forma predeterminada en Amazon (también en mi servidor web dedicado). Relacionado con el certificado: permití que el certificado no sea de confianza (marcó mi servidor como de confianza). Y ahora funciona para mí. – RredCat

+0

El puerto predeterminado es 8172, en lugar de 8192. – Jonathan

+0

Después de hacer esto, aún tuve que actualizar el paquete de Implementación web en mi servidor antes de que me permitiera conectarme. Encontré instrucciones aquí: http://docs.aws.amazon.com/gettingstarted/latest/computebasics/getting-started-deploy-app-download-app.html – Patrick

Cuestiones relacionadas