Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Om din organisation kräver att en proxyserver används för att få åtkomst till Internetresurser krävs viss konfiguration för att använda Azure SDK för .NET-klientbibliotek. När proxyn har konfigurerats tillämpas den på den underliggande HttpClient instans som används för HTTP-åtgärder.
Proxyn kan konfigureras via kod eller via en miljövariabel. Vilken metod du väljer beror på önskat beteende. Ange lämplig miljövariabel om du vill att proxyn ska gälla globalt för alla tjänstklienter som skapats i den aktuella processen. Du kan också konfigurera proxyn via kod för att selektivt tillämpa inställningarna på tjänstklienter.
Viktigt!
Följande instruktioner gäller endast för bibliotek med ett beroende av Azure.Core.
Konfigurera med hjälp av kod
Utför följande steg för att programmatiskt konfigurera en proxy:
- Skapa ett HttpClientHandler objekt vars egenskap har angetts
Proxy. - Skapa ett tjänstklientalternativobjekt vars Transport egenskap är inställd på ett
HttpClientTransportobjekt som accepterar instansenHttpClientHandler. - Skicka objektet för tjänstklientalternativ till tjänstklientkonstruktorn.
Om du använder Azure Key Vault Secrets-biblioteket som exempel skulle du ha följande kod:
using System.Net;
using Azure.Core.Pipeline;
using Azure.Identity;
using Azure.Security.KeyVault.Secrets;
using HttpClientHandler handler = new()
{
Proxy = new WebProxy(new Uri("<proxy-url>")),
};
SecretClientOptions options = new()
{
Transport = new HttpClientTransport(handler),
};
SecretClient client = new(
new Uri("https://<key-vault-name>.vault.azure.net/"),
new DefaultAzureCredential(),
options);
Konfigurera med miljövariabler
Följande tabell innehåller en inventering av miljövariabler som kan ställas in för att konfigurera en proxy för användning.
| Miljövariabel | Syfte |
|---|---|
HTTP_PROXY eller http_proxy |
Proxyservern som används för HTTP-begäranden. |
HTTPS_PROXY eller https_proxy |
Proxyservern som används för HTTPS-begäranden. |
ALL_PROXY eller all_proxy |
Proxyservern som används för både HTTP- och HTTPS-begäranden. |
NO_PROXY eller no_proxy |
En kommaavgränsad lista över värdnamn som ska undantas från proxying. |
GATEWAY_INTERFACE |
Indikator på att appen körs i en CGI-miljö (Common Gateway Interface). Exempelvärde: CGI/1.1 |
En djup förståelse för hur dessa miljövariabler bearbetas finns i koden. Tänk på följande beteenden:
- Varje miljövariabel i föregående tabell, förutom
GATEWAY_INTERFACE, kan alternativt definieras som små bokstäver. Den gemena formen har företräde framför den versala formen. - Om både
http_proxyochGATEWAY_INTERFACEär odefinieradeHTTP_PROXYanvänds. -
ALL_PROXYbetraktas endast när en HTTP- eller HTTPS-proxy är odefinierad. - Protokollspecifika miljövariabler har företräde framför
ALL_PROXY.
Url:en för proxyservern har formatet http[s]://[username:password@]<ip_address_or_hostname>:<port>/, där username:password kombinationen är valfri. Kontakta nätverksadministratören om du vill hämta IP-adressen eller värdnamnet, porten och autentiseringsuppgifterna för proxyservern.
I följande exempel visas hur du ställer in lämpliga miljövariabler i miljöer med kommandogränssnitt (Windows) och bash (Linux/macOS). Om du anger lämplig miljövariabel får Azure SDK för .NET-bibliotek att använda proxyservern vid körning.
rem Non-authenticated HTTP server:
set HTTP_PROXY=http://10.10.1.10:1180
rem Authenticated HTTP server:
set HTTP_PROXY=http://username:password@10.10.1.10:1180
rem Non-authenticated HTTPS server:
set HTTPS_PROXY=https://10.10.1.10:1180
rem Authenticated HTTPS server:
set HTTPS_PROXY=https://username:password@10.10.1.10:1180