Risoluzione dei problemi di accesso a un'applicazione in esecuzione in una macchina virtuale Windows in AzureTroubleshoot access to an application running on a Windows virtual machine in Azure

Ci sono varie ragioni alla base dell'impossibilità di avviare o di connettersi a un'applicazione in esecuzione su una macchina virtuale (VM) di Azure.There are various reasons when you cannot start or connect to an application running on an Azure virtual machine (VM). I motivi includono un'applicazione non in esecuzione o in attesa sulle porte previste, la porta di ascolto bloccata o regole di rete che non consentono la trasmissione corretta del traffico all'applicazione.Reasons include the application not running or listening on the expected ports, the listening port blocked, or networking rules not correctly passing traffic to the application. In questo articolo viene descritto un approccio metodico per rilevare e correggere il problema.This article describes a methodical approach to find and correct the problem.

Se si sono verificati problemi durante la connessione alla VM tramite RDP o SSH, consultare prima uno dei seguenti articoli:If you are having issues connecting to your VM using RDP or SSH, see one of the following articles first:

Nota

Azure offre due diversi modelli di distribuzione per creare e usare le risorse: Gestione risorse e la distribuzione classica.Azure has two different deployment models for creating and working with resources: Resource Manager and classic. In questo articolo viene illustrato l'utilizzo di entrambi i modelli, ma Microsoft indica che le distribuzioni più nuove utilizzano il modello di gestione delle.This article covers using both models, but Microsoft recommends that most new deployments use the Resource Manager model.

Se in qualsiasi punto dell'articolo sono necessarie altre informazioni, è possibile contattare gli esperti di Azure nei forum MSDN e overflow dello stack relativi ad Azure.If you need more help at any point in this article, you can contact the Azure experts on the MSDN Azure and the Stack Overflow forums. In alternativa, è anche possibile archiviare un evento imprevisto di supporto tecnico di Azure.Alternatively, you can also file an Azure support incident. Accedere al sito del supporto di Azure e selezionare Ottenere supporto.Go to the Azure support site and select Get Support.

Passaggi rapidi per la risoluzione dei problemiQuick-start troubleshooting steps

Nel caso di problemi di connessione a un'applicazione, provare con i seguenti passaggi generali per la risoluzione dei problemi.If you have problems connecting to an application, try the following general troubleshooting steps. Dopo ogni passaggio, provare a connettersi nuovamente all'applicazione:After each step, try connecting to your application again:

Per ulteriori informazioni, vedere Risoluzione dei problemi di connettività dell’Endpoint (errori RDP/SSH/HTTP, ecc.).For more information, see Troubleshooting Endpoint Connectivity (RDP/SSH/HTTP, etc. failures).

Panoramica dettagliata della risoluzione dei problemiDetailed troubleshooting overview

Esistono quattro aree principali per risolvere i problemi di accesso di un'applicazione che è in esecuzione in una macchina virtuale di Azure.There are four main areas to troubleshoot the access of an application that is running on an Azure virtual machine.

risolvere il problema che impedisce l'avvio dell'applicazione

  1. L’applicazione in esecuzione nella macchina virtuale di Azure.The application running on the Azure virtual machine.
    • L'applicazione viene eseguita correttamente?Is the application itself running correctly?
  2. La macchina virtuale di Azure.The Azure virtual machine.
    • La macchina virtuale viene eseguita correttamente e soddisfa le richieste?Is the VM itself running correctly and responding to requests?
  3. Endpoint di rete di Azure.Azure network endpoints.
    • Endpoint di servizio cloud per le macchine virtuali nel modello di distribuzione classica.Cloud service endpoints for virtual machines in the Classic deployment model.
    • Gruppi di sicurezza di rete e regole NAT in ingresso per le macchine virtuali nel modello di distribuzione Resource Manager.Network Security Groups and inbound NAT rules for virtual machines in Resource Manager deployment model.
    • Il traffico riesce a fluire dagli utenti alla macchina virtuale/applicazione sulle porte previste?Can traffic flow from users to the VM/application on the expected ports?
  4. Il dispositivo periferico di Internet.Your Internet edge device.
    • Le regole del firewall applicate impediscono al traffico di fluire in modo corretto?Are firewall rules in place preventing traffic from flowing correctly?

Per i computer client che accedono all'applicazione tramite una connessione site-to-site VPN o ExpressRoute, le principali aree che possono causare problemi sono l'applicazione e la macchina virtuale di Azure.For client computers that are accessing the application over a site-to-site VPN or ExpressRoute connection, the main areas that can cause problems are the application and the Azure virtual machine.

Per determinare l'origine del problema e la sua risoluzione, attenersi alla seguente procedura.To determine the source of the problem and its correction, follow these steps.

Passaggio 1: accedere all'applicazione dalla VM di destinazioneStep 1: Access application from target VM

Provare ad accedere all'applicazione con il programma client appropriato dalla macchina virtuale in cui è in esecuzione.Try to access the application with the appropriate client program from the VM on which it is running. Usare il nome host locale, l'indirizzo IP locale o l'indirizzo di loopback (127.0.0.1).Use the local host name, the local IP address, or the loopback address (127.0.0.1).

avviare l'applicazione direttamente dalla macchina virtuale

Ad esempio, se l'applicazione è un server Web, aprire un browser nella VM e provare ad accedere a una pagina Web ospitata nella VM.For example, if the application is a web server, open a browser on the VM and try to access a web page hosted on the VM.

Se è possibile accedere all'applicazione, passare al Passaggio 2.If you can access the application, go to Step 2.

Se non è possibile accedere all'applicazione, verificare le seguenti impostazioni:If you cannot access the application, verify the following settings:

  • Che l’applicazione sia in esecuzione nella macchina virtuale.The application is running on the target virtual machine.
  • Che l'applicazione sia in ascolto sulle porte TCP e UDP previste.The application is listening on the expected TCP and UDP ports.

Nelle macchine virtuali basate su Windows o Linux, utilizzare il comando netstat - a per visualizzare le porte di ascolto attive.On both Windows and Linux-based virtual machines, use the netstat -a command to show the active listening ports. Esaminare l'output per le porte previste sulle quali l’applicazione dovrebbe essere in ascolto.Examine the output for the expected ports on which your application should be listening. Riavviare l'applicazione oppure configurarla per usare le porte previste in base alle esigenze e provare di nuovo ad accedere all'applicazione in locale.Restart the application or configure it to use the expected ports as needed and try to access the application locally again.

Passaggio 2: accedere all'applicazione da un'altra VM della stessa rete virtualeStep 2: Access application from another VM in the same virtual network

Provare ad accedere all'applicazione da una macchina virtuale diversa, ma nella stessa rete virtuale, usando il nome host della macchina virtuale o l'indirizzo IP pubblico, privato o del provider assegnato da Azure.Try to access the application from a different VM but in the same virtual network, using the VM's host name or its Azure-assigned public, private, or provider IP address. Per le macchine virtuali create con il modello di distribuzione classica, non usare l'indirizzo IP pubblico del servizio cloud.For virtual machines created using the classic deployment model, do not use the public IP address of the cloud service.

applicazione avviata da una macchina virtuale diversa

Ad esempio, se l'applicazione è un server Web, provare ad accedere a una pagina Web da un browser presente in un'altra macchina virtuale nella stessa rete virtuale.For example, if the application is a web server, try to access a web page from a browser on a different VM in the same virtual network.

Se è possibile accedere all'applicazione, passare al Passaggio 3.If you can access the application, go to Step 3.

Se non è possibile accedere all'applicazione, verificare le seguenti impostazioni:If you cannot access the application, verify the following settings:

  • Il firewall host nella macchina virtuale di destinazione consente il traffico delle richieste in ingresso e delle risposte in uscita.The host firewall on the target VM is allowing the inbound request and outbound response traffic.
  • Il software per il rilevamento intrusione o il monitoraggio di rete in esecuzione nella macchina virtuale di destinazione consente il traffico.Intrusion detection or network monitoring software running on the target VM is allowing the traffic.
  • Gli endpoint dei servizi cloud o i gruppi di sicurezza di rete consentono il traffico:Cloud Services endpoints or Network Security Groups are allowing the traffic:
  • Un componente separato in esecuzione nella macchina virtuale nel percorso tra la macchina virtuale di test e la macchina virtuale, ad esempio un servizio di bilanciamento del carico o un firewall, consente il traffico.A separate component running in your VM in the path between the test VM and your VM, such as a load balancer or firewall, is allowing the traffic.

In una macchina virtuale basata su Windows, utilizzare Windows Firewall con sicurezza avanzata per determinare se le regole del firewall escludono il traffico in entrata e in uscita dell'applicazione.On a Windows-based virtual machine, use Windows Firewall with Advanced Security to determine whether the firewall rules exclude your application's inbound and outbound traffic.

Passaggio 3: accedere all'applicazione dall'esterno della rete virtualeStep 3: Access application from outside the virtual network

Provare ad accedere all'applicazione da un computer all'esterno della rete virtuale come VM in cui è in esecuzione l'applicazione.Try to access the application from a computer outside the virtual network as the VM on which the application is running. Usare una rete diversa come computer client originale.Use a different network as your original client computer.

avviare l'applicazione da un computer all'esterno della rete virtuale

Ad esempio, se l'applicazione è un server web, tentare di accedere a una pagina web da un browser in esecuzione su un computer che non è presente nella rete virtuale.For example, if the application is a web server, try to access the web page from a browser running on a computer that is not in the virtual network.

Se non è possibile accedere all'applicazione, verificare le seguenti impostazioni:If you cannot access the application, verify the following settings:

  • VM create con il modello di distribuzione classica:For VMs created using the classic deployment model:

    • Verificare che la configurazione dell'endpoint per la VM consenta il traffico in ingresso, in particolare il protocollo (TCP o UDP) e i numeri di porta pubblica e privata.Verify that the endpoint configuration for the VM is allowing the incoming traffic, especially the protocol (TCP or UDP) and the public and private port numbers.
    • Verificare che gli elenchi di controllo di accesso (ACL) nell'endpoint non impediscano il traffico in ingresso da Internet.Verify that access control lists (ACLs) on the endpoint are not preventing incoming traffic from the Internet.
    • Per altre informazioni, vedere Come configurare gli endpoint in una macchina virtuale.For more information, see How to Set Up Endpoints to a Virtual Machine.
  • Per le VM create con il modello di distribuzione di Resource Manager:For VMs created using the Resource Manager deployment model:

    • Verificare che la configurazione della regola NAT in ingresso consenta il traffico in ingresso, in particolare il protocollo (TCP o UDP) e i numeri di porta pubblica e privata.Verify that the inbound NAT rule configuration for the VM is allowing the incoming traffic, especially the protocol (TCP or UDP) and the public and private port numbers.
    • Verificare che i gruppi di sicurezza di rete consentano il traffico della richiesta in ingresso e della risposta in uscita.Verify that Network Security Groups are allowing the inbound request and outbound response traffic.
    • Per ulteriori informazioni, vedere Che cos'è un gruppo di sicurezza di reteFor more information, see What is a Network Security Group (NSG)?

Se la macchina virtuale o un endpoint è un membro di un set con carico bilanciato:If the virtual machine or endpoint is a member of a load-balanced set:

  • Verificare che il protocollo di probe (TCP o UDP) e il numero di porta siano corretti.Verify that the probe protocol (TCP or UDP) and port number are correct.
  • Se il protocollo e porta di probe è diverso rispetto al set con carico bilanciato protocollo e porta:If the probe protocol and port is different than the load-balanced set protocol and port:
    • Verificare che l'applicazione sia in ascolto sul protocollo probe (TCP o UDP) e il numero di porta. Usare netstat –a nella VM di destinazione.Verify that the application is listening on the probe protocol (TCP or UDP) and port number (use netstat –a on the target VM).
    • Verificare che il firewall host nella macchina virtuale di destinazione consenta il traffico delle richieste probe in ingresso e delle risposte probe in uscita.Verify that the host firewall on the target VM is allowing the inbound probe request and outbound probe response traffic.

Se è possibile accedere all'applicazione, verificare che il dispositivo periferico di Internet consenta:If you can access the application, ensure that your Internet edge device is allowing:

  • Il traffico della richiesta dell’applicazione in uscita dal computer client per la macchina virtuale di Azure.The outbound application request traffic from your client computer to the Azure virtual machine.
  • Il traffico di risposta dell’applicazione in ingresso dalla macchina virtuale di Azure.The inbound application response traffic from the Azure virtual machine.

Passaggio 4 Se non è possibile accedere all'applicazione, usare la verifica IP per controllare le impostazioni.Step 4 If you cannot access the application, use IP Verify to check the settings.

Per altre informazioni, vedere Panoramica del monitoraggio della rete in Azure.For more information, see Azure network monitoring overview.

Risorse aggiuntiveAdditional resources

Risolvere i problemi di connessioni Desktop remoto a una macchina virtuale di Azure che esegue WindowsTroubleshoot Remote Desktop connections to a Windows-based Azure Virtual Machine

Risolvere i problemi relativi alle connessioni Secure Shell (SSH) a una macchina virtuale di Azure basata su LinuxTroubleshoot Secure Shell (SSH) connections to a Linux-based Azure virtual machine