2012-07-09 12 views
11

Possiedo un sito MVC ASP.NET ospitato su un servizio Amazon EC2. Voglio stabilire la distribuzione automatica con MS WebDeploy su questo sito. Ho trovato un ottimo articolo su questo: Automating Deployment with Microsoft Web Deploy.Come distribuire l'app ASP.NET su Amazon EC2 usando MS WebDeploy?

Non riesco a raggiungere https://mySite:8172/MsDeploy.axd perché la porta 8172 è chiusa su Amazon per impostazione predefinita. Non ho molta familiarità con la configurazione del servizio EC2, quindi non riesco a scoprire come aprire questa porta sul protocollo https. Ho riconfigurato IIS per utilizzare la porta predefinita (433) e sono stato aperto questa porta sul gruppo di sicurezza di Amazon che viene utilizzato per il mio sito.

Ora ho provato ad aprire https://mySite/MsDeploy.axd in un browser web. IE richiede le credenziali, prende nota di un errore del certificato (ho fatto clic su "Continua ..") e mi inoltra a 404.

Giusto per essere sicuro, ho provato a distribuire tramite VS 2010 e, naturalmente, non funziona .

Chiunque abbia esperienza con MS Web Deploy in Amazon EC2 può dirmi cosa sto facendo male?

+1

Due cose. Primo: per aprire la porta 8172, è necessario a) aprirlo nel gruppo di sicurezza dell'istanza EC2, nel pannello di controllo AWS/EC2/Gruppi di sicurezza. b) Apri Windows Firewall. Secondo: l'errore del certificato si verifica perché molto probabilmente non vi è alcun certificato sull'istanza o perché il suo nome comune non corrisponde al nome di dominio completo dell'istanza. Il 404 è un sintomo che la distribuzione non è disponibile su IIS. – Viccari

+0

Informazioni sul primo passaggio: non riesco a trovare come specificare la porta che voglio aprire. Posso scegliere il tipo di porta, ad esempio: https e mi apre 433. Ma non riesco a trovare come impostare il numero di porta. – RredCat

+1

Nel menu a discesa "Crea una nuova regola", selezionare "Regola TCP personalizzata". In questo modo sarai in grado di specificare quale porta stai aprendo. Quindi, selezionare la porta 8192 e inserire l'indirizzo IP del client nel campo 'Origine'. – Viccari

risposta

9

Due cose.
Primo: al fine di aprire la porta 8172, è necessario
a) aprirlo nel gruppo di protezione della vostra istanza EC2, sulla AWS Pannello di controllo/CE2/dei gruppi di protezione:
Nel Create a new rule a discesa, selezionare Custom TCP rule. In questo modo sarai in grado di specificare quale porta stai aprendo. Quindi, selezionare la porta 8172 e immettere l'indirizzo IP del client nel campo Source.
b) Apri Windows Firewall.

Secondo: l'errore del certificato si verifica perché molto probabilmente non vi è alcun certificato sull'istanza o perché il suo Common Name non corrisponde all'FQDN dell'istanza. Il 404 è un sintomo che la distribuzione non è disponibile su IIS.

+0

Il mio commento a questo: Non ho fatto nulla con Firewall - funziona di default su Amazon (anche sul mio server web dedicato). Relativo al certificato: ho autorizzato il certificato non affidabile (contrassegnato come attendibile dal mio server). E ora funziona per me. – RredCat

+0

La porta predefinita è 8172, anziché 8192. – Jonathan

+0

Dopo aver fatto ciò, dovevo ancora aggiornare il pacchetto di distribuzione Web sul mio server prima che mi permettesse di connettermi. Ho trovato le istruzioni qui: http://docs.aws.amazon.com/gettingstarted/latest/computebasics/getting-started-deploy-app-download-app.html – Patrick