Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Introduzione
Il proxy inverso può essere usato per memorizzare nella cache le risposte proxy e gestire le richieste prima che vengano inoltrate tramite proxy ai server di destinazione. Ciò può ridurre il carico nei server di destinazione, aggiungere un livello di protezione e garantire l'implementazione di criteri coerenti nelle applicazioni.
Questa funzionalità è disponibile solo quando si usa .NET 7.0 o versione successiva
Impostazioni predefinite
Non viene eseguita alcuna memorizzazione nella cache di output a meno che non sia abilitata nella configurazione della route o dell'applicazione.
Configurazione
I criteri della cache di output possono essere specificati per ogni route tramite RouteConfig.OutputCachePolicy e possono essere associati dalle sezioni Routes
del file di configurazione. Come per altre proprietà di route, è possibile modificare e ricaricare senza riavviare il proxy. I nomi delle policy sono insensibili alla distinzione tra maiuscole e minuscole.
Esempio:
{
"ReverseProxy": {
"Routes": {
"route1" : {
"ClusterId": "cluster1",
"OutputCachePolicy": "customPolicy",
"Match": {
"Hosts": [ "localhost" ]
}
}
},
"Clusters": {
"cluster1": {
"Destinations": {
"cluster1/destination1": {
"Address": "https://localhost:10001/"
}
}
}
}
}
}
criteri di cache di output sono un concetto di base ASP.NET utilizzato dal proxy. Il proxy fornisce la configurazione sopra indicata per specificare regole per ciascuna route, e il resto viene gestito dal middleware di caching dell'output di ASP.NET Core esistente.
I criteri della cache di output possono essere configurati in Program.cs come indicato di seguito:
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddOutputCache(options =>
{
options.AddPolicy("customPolicy", builder => builder.Expire(TimeSpan.FromSeconds(20)));
});
Aggiungere quindi il middleware di memorizzazione nella cache di output:
var app = builder.Build();
app.UseOutputCache();
app.MapReverseProxy();
Per configurare il tipo di memorizzazione nella cache di output preferito, vedere la documentazione memorizzazione nella cache dell'output.