Usare server proxy locali esistentiWork with existing on-premises proxy servers

Questo articolo illustra come configurare i connettori del proxy applicazione di Azure Active Directory (Azure AD) per l'uso di server proxy in uscita.This article explains how to configure Azure Active Directory (Azure AD) Application Proxy connectors to work with outbound proxy servers. È rivolto ai clienti con ambienti di rete che dispongono di proxy esistenti.It is intended for customers with network environments that have existing proxies.

Iniziamo esaminando questi scenari di distribuzione principali:We start by looking at these main deployment scenarios:

  • Configurare i connettori per ignorare i proxy in uscita locali.Configure connectors to bypass your on-premises outbound proxies.
  • Configurare i connettori per l'uso di un proxy in uscita per accedere al proxy applicazione di Azure AD.Configure connectors to use an outbound proxy to access Azure AD Application Proxy.

Per ulteriori informazioni sui connettori, vedere Informazioni sui connettori proxy di applicazione di Azure AD.For more information about how connectors work, see Understand Azure AD Application Proxy connectors.

Ignorare i proxy in uscitaBypass outbound proxies

I connettori sono componenti del sistema operativo sottostanti che creano le richieste in uscita.Connectors have underlying OS components that make outbound requests. Questi componenti tentano automaticamente di individuare un server proxy nella rete usando WPAD (Web Proxy Auto-Discovery).These components automatically attempt to locate a proxy server on the network using Web Proxy Auto-Discovery (WPAD).

I componenti del sistema operativo provano a individuare un server proxy eseguendo una ricerca DNS per wpad.domainsuffix.The OS components attempt to locate a proxy server by carrying out a DNS lookup for wpad.domainsuffix. Se la ricerca restituisce il DNS, viene quindi inviata una richiesta HTTP all'indirizzo IP per wpad.dat.If the lookup resolves in DNS, an HTTP request is then made to the IP address for wpad.dat. Questa richiesta diventa lo script di configurazione proxy nell'ambiente.This request becomes the proxy configuration script in your environment. Il connettore usa questo script per selezionare un server proxy in uscita.The connector uses this script to select an outbound proxy server. Il traffico del connettore potrebbe tuttavia non riuscire ancora a passare perché sono necessarie altre impostazioni di configurazione nel proxy.However, connector traffic might still not go through, because of additional configuration settings needed on the proxy.

È possibile configurare il connettore in modo che ignori il proxy locale, per garantire che usi la connettività diretta ai servizi di Azure.You can configure the connector to bypass your on-premises proxy to ensure that it uses direct connectivity to the Azure services. Se consentita dai criteri di rete, questa è un'operazione consigliata, perché implica una configurazione in meno da gestire.We recommend this approach, as long as your network policy allows for it, because it means that you have one less configuration to maintain.

Per disabilitare l'uso del proxy in uscita per il connettore, modificare il file C:\Program Files\Microsoft AAD App Proxy Connector\ApplicationProxyConnectorService.exe.config e aggiungere la sezione system.net indicata nell'esempio di codice seguente:To disable outbound proxy usage for the connector, edit the C:\Program Files\Microsoft AAD App Proxy Connector\ApplicationProxyConnectorService.exe.config file and add the system.net section shown in this code sample:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.net>
    <defaultProxy enabled="false"></defaultProxy>
  </system.net>
  <runtime>
    <gcServer enabled="true"/>
  </runtime>
  <appSettings>
    <add key="TraceFilename" value="AadAppProxyConnector.log" />
  </appSettings>
</configuration>

Per assicurarsi che anche il servizio Connector Updater ignori il proxy, apportare una modifica simile al file ApplicationProxyConnectorUpdaterService.exe.config.To ensure that the Connector Updater service also bypasses the proxy, make a similar change to the ApplicationProxyConnectorUpdaterService.exe.config file. Questo file si trova in C:\Programmi\Microsoft AAD App Proxy Connector Updater.This file is located at C:\Program Files\Microsoft AAD App Proxy Connector Updater.

Assicurarsi di creare copie dei file originali nel caso sia necessario ripristinare i file .config predefiniti.Be sure to make copies of the original files, in case you need to revert to the default .config files.

Usare il server proxy in uscitaUse the outbound proxy server

Alcuni ambienti dei clienti richiedono che tutto il traffico in uscita passi attraverso un proxy in uscita, senza eccezioni.Some environments require all outbound traffic to go through an outbound proxy, without exception. Di conseguenza ignorare il proxy non è possibile.As a result, bypassing the proxy is not an option.

Si può configurare il traffico del connettore per il passaggio attraverso il proxy in uscita, come illustrato nel diagramma seguente:You can configure the connector traffic to go through the outbound proxy, as shown in the following diagram:

Configurazione del traffico del connettore per l'uso di un proxy in uscita per accedere al proxy applicazione di Azure AD

Dato che il traffico è solo in uscita, non è necessario configurare l'accesso in ingresso attraverso firewall.As a result of having only outbound traffic, there's no need to configure inbound access through your firewalls.

Nota

Il proxy di applicazione non supporta l'autenticazione in altri proxy.Application Proxy does not support authentication to other proxies. Gli account del servizio di rete del connettore/strumento di aggiornamento dovrebbero essere in grado di connettersi al proxy senza ricevere richieste di autenticazione.The connector/updater network service accounts should be able to connect to the proxy without being challenged for authentication.

Se WPAD è abilitato nell'ambiente e configurato in modo corretto, il connettore individua automaticamente il server proxy in uscita e tenta di usarlo.If WPAD is enabled in the environment and configured appropriately, the connector automatically discovers the outbound proxy server and attempt to use it. Tuttavia, è possibile configurare in modo esplicito il connettore per il passaggio attraverso un proxy in uscita.However, you can explicitly configure the connector to go through an outbound proxy.

A tale scopo modificare il file C:\Program Files\Microsoft AAD App Proxy Connector\ApplicationProxyConnectorService.exe.config e aggiungere la sezione system.net indicata nell'esempio di codice seguente.To do so, edit the C:\Program Files\Microsoft AAD App Proxy Connector\ApplicationProxyConnectorService.exe.config file and add the system.net section shown in this code sample. Modificare proxyserver:8080 in modo che corrisponda al nome o all'indirizzo IP del server proxy locale e alla porta su cui è in ascolto.Change proxyserver:8080 to reflect your local proxy server name or IP address, and the port that it's listening on.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.net>  
    <defaultProxy>   
      <proxy proxyaddress="http://proxyserver:8080" bypassonlocal="True" usesystemdefault="True"/>   
    </defaultProxy>  
  </system.net>
  <runtime>
    <gcServer enabled="true"/>
  </runtime>
  <appSettings>
    <add key="TraceFilename" value="AadAppProxyConnector.log" />
  </appSettings>
</configuration>

Configurare quindi il servizio Connector Updater in modo che usi il proxy, apportando una modifica simile al file C:\Programmi\Microsoft AAD App Proxy Connector Updater\ApplicationProxyConnectorUpdaterService.exe.config.Next, configure the Connector Updater service to use the proxy by making a similar change to the C:\Program Files\Microsoft AAD App Proxy Connector Updater\ApplicationProxyConnectorUpdaterService.exe.config file.

Esistono quattro aspetti da considerare per il proxy in uscita:There are four aspects to consider at the outbound proxy:

  • Regole in uscita del proxyProxy outbound rules
  • Autenticazione proxyProxy authentication
  • Porte proxyProxy ports
  • Ispezione SSLSSL inspection

Regole in uscita del proxyProxy outbound rules

Consentire l'accesso agli endpoint seguenti per l'accesso al servizio connettore:Allow access to the following endpoints for connector service access:

  • .msappproxy.net.msappproxy.net
  • .servicebus.windows.net.servicebus.windows.net

Per la registrazione iniziale consentire l'accesso agli endpoint seguenti:For initial registration, allow access to the following endpoints:

  • login.windows.netlogin.windows.net
  • login.microsoftonline.comlogin.microsoftonline.com

Se non è possibile consentire la connettività in base al nome di dominio completo ed è necessario specificare invece intervalli IP, usare queste opzioni:If you can't allow connectivity by FQDN and need to specify IP ranges instead, use these options:

  • Consentire al connettore l'accesso in uscita a tutte le destinazioni.Allow the connector outbound access to all destinations.
  • Consentire al connettore l'accesso in uscita a tutti gli intervalli di indirizzi IP del data center di Azure.Allow the connector outbound access to all of the Azure datacenter IP ranges. Il problema con l'elenco di intervalli di indirizzi IP del data center di Azure è che viene aggiornato ogni settimana.The challenge with using the list of Azure datacenter IP ranges is that it's updated weekly. È necessario implementare un processo per assicurare che le regole di accesso vengano aggiornate di conseguenza.You need to put a process in place to ensure that your access rules are updated accordingly. L'uso di un solo subset di indirizzi IP può provocare errori di configurazione.Only using a subset of the IP addresses may cause your configuration to break.

Autenticazione proxyProxy authentication

L'autenticazione proxy non è attualmente supportata.Proxy authentication is not currently supported. Il nostro consiglio è di consentire l'accesso anonimo del connettore alle destinazioni su Internet.Our current recommendation is to allow the connector anonymous access to the Internet destinations.

Porte proxyProxy ports

Il connettore esegue le connessioni SSL in uscita usando il metodo CONNECT.The connector makes outbound SSL-based connections by using the CONNECT method. Questo metodo crea essenzialmente un tunnel attraverso il proxy in uscita.This method essentially sets up a tunnel through the outbound proxy. Configurare il server proxy per consentire il tunneling alle porte 443 e 80.Configure the proxy server to allow tunneling to ports 443 and 80.

Nota

Quando il bus di servizio viene eseguito su HTTPS, usa la porta 443.When Service Bus runs over HTTPS, it uses port 443. Per impostazione predefinita, il bus di servizio prova tuttavia a stabilire connessioni TCP dirette ed esegue il fallback su HTTPS solo se si verifica un errore di connettività diretta.However, by default, Service Bus attempts direct TCP connections and falls back to HTTPS only if direct connectivity fails.

Ispezione SSLSSL inspection

Non usare l'ispezione SSL per il traffico del connettore perché causa problemi per tale traffico.Do not use SSL inspection for the connector traffic, because it causes problems for the connector traffic. Il connettore usa un certificato client per l'autenticazione al servizio proxy di applicazione e il certificato può essere perso durante l'analisi SSL.The connector uses a certificate to authenticate to the Application Proxy service, and that certificate can be lost during SSL inspection.

Risolvere i problemi relativi al connettore proxy e alla connettività del servizioTroubleshoot connector proxy problems and service connectivity issues

A questo punto si dovrebbe vedere tutto il traffico che passa attraverso il proxy.Now you should see all traffic flowing through the proxy. Se si verificano problemi, potrebbero essere utili le seguenti informazioni per la risoluzione dei problemi.If you have problems, the following troubleshooting information should help.

Il modo migliore per identificare e risolvere i problemi di connettività del connettore è eseguire un'acquisizione di rete durante l'avvio del servizio del connettore.The best way to identify and troubleshoot connector connectivity issues is to take a network capture while starting the connector service. Ecco alcuni semplici suggerimenti per acquisire e filtrare le tracce di rete.Here are some quick tips on capturing and filtering network traces.

È possibile usare lo strumento di monitoraggio preferito.You can use the monitoring tool of your choice. Ai fini di questo articolo, è stato usato Microsoft Message Analyzer.For the purposes of this article, we used Microsoft Message Analyzer. È possibile scaricarlo da Microsoft.You can download it from Microsoft.

Gli esempi seguenti sono specifici di Message Analyzer, ma i principi possono essere applicati a qualsiasi strumento di analisi.The following examples are specific to Message Analyzer, but the principles can be applied to any analysis tool.

Eseguire un'acquisizione del traffico del connettoreTake a capture of connector traffic

Per iniziare la risoluzione dei problemi, procedere come segue:For initial troubleshooting, perform the following steps:

  1. Da services.msc arrestare il servizio connettore del proxy applicazione di Azure AD.From services.msc, stop the Azure AD Application Proxy Connector service.

    Servizio connettore proxy applicazione di Azure AD in services.msc

  2. Eseguire Message Analyzer come amministratore.Run Message Analyzer as an administrator.

  3. Selezionare l'opzione per l'avvio della traccia locale.Select Start local trace.

    Avviare l'acquisizione di rete

  4. Avviare il servizio connettore del proxy applicazione di Azure AD.Start the Azure AD Application Proxy Connector service.

  5. Arrestare l'acquisizione di rete.Stop the network capture.

    Arrestare l'acquisizione di rete

Controllare se il traffico del connettore ignora i proxy in uscitaCheck if the connector traffic bypasses outbound proxies

Se il connettore del proxy di applicazione è stato configurato per ignorare i server proxy e connettersi direttamente al servizio proxy di applicazione, è necessario individuare nell'acquisizione di rete i tentativi di connessione TCP non riusciti.If you configured your Application Proxy connector to bypass the proxy servers and connect directly to the Application Proxy service, you want to look in the network capture for failed TCP connection attempts.

Usare il filtro di Message Analyzer per identificare questi tentativi.Use the Message Analyzer filter to identify these attempts. Immettere property.TCPSynRetransmit nella casella del filtro e selezionare Applica.Enter property.TCPSynRetransmit in the filter box and select Apply.

Un pacchetto SYN è il primo pacchetto inviato per stabilire una connessione TCP.A SYN packet is the first packet sent to establish a TCP connection. Se questo pacchetto non restituisce una risposta, il SYN viene ritentato.If this packet doesn’t return a response, the SYN is reattempted. È possibile usare il filtro precedente per visualizzare qualsiasi SYN ritrasmesso.You can use the preceding filter to see any retransmitted SYNs. È quindi possibile vedere se questi SYN corrispondono a traffico correlato al connettore.Then, you can check whether these SYNs correspond to any connector-related traffic.

Se si prevede che il connettore esegua connessioni dirette ai servizi di Azure, le risposte SynRetransmit sulla porta 443 indicano la presenza di un problema di rete o di firewall.If you expect the connector to make direct connections to the Azure services, SynRetransmit responses on port 443 are an indication that you have a network or firewall problem.

Controllare se il traffico del connettore usa proxy in uscitaCheck if the connector traffic uses outbound proxies

Se il traffico del connettore del proxy di applicazione è stato configurato per passare attraverso i server proxy, è necessario individuare le connessioni HTTPS non riuscite nel proxy.If you configured your Application Proxy connector traffic to go through the proxy servers, you want to look for failed https connections to your proxy.

Per filtrare l'acquisizione di rete in modo da individuare questi tentativi di connessione, immettere (https.Request or https.Response) and tcp.port==8080 nel filtro di Message Analyzer, sostituendo 8080 con la porta del servizio proxy.To filter the network capture for these connection attempts, enter (https.Request or https.Response) and tcp.port==8080 in the Message Analyzer filter, replacing 8080 with your proxy service port. Selezionare Applica per visualizzare i risultati del filtro.Select Apply to see the filter results.

Il filtro precedente mostra solo le richieste e le risposte HTTPS da e verso la porta del proxy.The preceding filter shows just the HTTPs requests and responses to/from the proxy port. Cercare le richieste CONNECT che indicano la comunicazione con il server proxy.You're looking for the CONNECT requests that show communication with the proxy server. Al completamento dell'operazione si ottiene una risposta HTTP affermativa (200).Upon success, you get an HTTP OK (200) response.

Se vengono visualizzati altri codici di risposta, ad esempio 407 o 502, significa che il proxy richiede l'autenticazione o non consente il traffico per altri motivi.If you see other response codes, such as 407 or 502, that means that the proxy is requiring authentication or not allowing the traffic for some other reason. A questo punto ci si rivolge al team di supporto del server proxy.At this point, you engage your proxy server support team.

Passaggi successiviNext steps