Pfeffermint ist einfach und leichter .NET Reverse Proxy basierend auf ASP.NET, Kestrel und implementieren YARP-Projekt von Microsoft (https://github.com/microsoft/reverse-proxy).
Erforschen Sie die Dokumente »
· BEGROFFETTIERUNG · Anfragefunktion
Pfeffermint Reverse Proxy ist eine einfache Implementierung von Microsoft Yarp Project (https://microsoft.github.io/reverse-proxy/).
Es handelt sich um eine Out -Out -Box -Version der Microsoft Yarp Project Library, die in eine leichte ASP.NET -Anwendung eingegrenzt ist. Ziel ist es, einen Yarp -Reverse -Proxy vorzuschlagen, ohne eine Entwicklungsstufe durchlaufen zu müssen, und nur die Konfiguration von Yarp
Multiples -Plattformen sind verfügbar:
Yarp bietet an:
(zurück nach oben)
Yarp Reverse Proxy bietet gute Leistungen für viele Workloads, aber Sie werden schwere Workloads verlieren, ohne mehr Ressourcen zu haben.
| Fall | Proben | Durchschnittszeit (MS) | Mindestzeit (MS) | Maximale Zeit (MS) | Durchsatz (HTTP -Anruf/Sek.) | Thread (s) |
|---|---|---|---|---|---|---|
| Staticwebapp - (direkt) | 10000 | 0 | 0 | 4 | 830,77 | 1 |
| Staticwebapp - arr (IIS) | 10000 | 1 | 0 | 4 | 635,93 | 1 |
| Staticwebapp -peppermint Reverse Proxy (tragbar) Yarp mit IIS | 10000 | 1 | 0 | 5 | 627,78 | 1 |
| Apiwebapp (direkt) | 10000 | 0 | 0 | 4 | 3935,45 | 1 |
| Apiwebapp - arr (iis) | 10000 | 0 | 0 | 4 | 1590,07 | 1 |
| Apiwebapp - ppmintrv yarp auf IIS | 10000 | 0 | 0 | 5 | 1093,37 | 1 |
(zurück nach oben)
Sie müssen Binairies entpacken und AppSettings.json -Datei konfigurieren
Sie müssen ASP.NET 6, 7, 8 Laufzeit installieren. Bei der Verwendung von IIS müssen Sie es vorher mit ASP.NET 6, 7 -Bundle installieren.
(zurück nach oben)
{
"AllowedHosts" : " * " ,
"Logging" : {
"LogLevel" : {
"Default" : " Information " ,
"Microsoft" : " Information " ,
"Microsoft.Hosting.Lifetime" : " Information "
}
},
"Serilog" : {
"Using" : [ " Serilog.Sinks.File " ],
"MinimumLevel" : " Information " ,
"WriteTo" : [
{
"Name" : " File " ,
"Args" : {
"path" : " proxy-.log " ,
"rollingInterval" : " Day "
}
}
]
},
"ReverseProxy" : {
"Routes" : {
"route1" : {
"ClusterId" : " defaultCluster " ,
"Match" : {
"Path" : " {**catch-all} "
},
"Transforms" : [
{ "PathPrefix" : " / " },
{ "RequestHeadersCopy" : " true " },
{ "RequestHeaderOriginalHost" : " false " }
]
}
},
"Clusters" : {
"defaultCluster" : {
"Destinations" : {
"destination1" : {
"Address" : " https://api.ipify.org/ "
}
},
"HttpClient" : {
"DangerousAcceptAnyServerCertificate" : " true " ,
"EnableMultipleHttp2Connections" : " true "
}
}
}
}
}(zurück nach oben)
Beiträge machen die Open -Source -Community zu einem erstaunlichen Ort, um zu lernen, zu inspirieren und zu kreieren. Alle Beiträge, die Sie leisten, werden sehr geschätzt .
Wenn Sie einen Vorschlag haben, der dies besser machen würde, geben Sie bitte das Repo und erstellen Sie eine Pull -Anfrage. Sie können auch einfach ein Problem mit dem Tag "Verbesserung" eröffnen. Vergessen Sie nicht, dem Projekt einen Stern zu geben! Danke noch einmal!
git checkout -b feature/AmazingFeature ).git commit -m 'Add some AmazingFeature' )git push origin feature/AmazingFeature )(zurück nach oben)
Unter der MIT -Lizenz verteilt. Weitere Informationen finden Sie LICENSE.txt .
(zurück nach oben)
Alexandre Julien - @alexandrejulien
Projektlink: https://github.com/alexandrejulien/peppermint.reverseverproxy
(zurück nach oben)