PEPPERMINT é simples e leve .NET Proxy reverso baseado no projeto ASP.NET, KESTREL e implemente YARP pela Microsoft (https://github.com/microsoft/reverse-proxy).
Explore os documentos »
· Relatório Bug · Recurso de solicitação
O proxy reverso de Peppermint é uma implementação simples do projeto Microsoft Yarp (https://microsoft.github.io/reverse-proxy/).
É uma versão fora de caixa da biblioteca de projetos do Microsoft Yarp, integrada em um aplicativo ASP.NET leve. O objetivo é propor um proxy reverso do YARP sem ter que passar por um estágio de desenvolvimento e apenas a configuração de Yarp
As plataformas de múltiplos são disponíveis:
Yarp oferece:
(de volta ao topo)
O proxy reverso do YARP oferece boas performances para muitas cargas de trabalho, mas você perderá cargas de trabalho pesadas sem ter mais recursos.
| Caso | Amostras | Tempo médio (MS) | Tempo mínimo (MS) | Tempo máximo (MS) | Taxa de transferência (chamada HTTP/s) | Tópico (s) |
|---|---|---|---|---|---|---|
| Staticwebapp - (direto) | 10000 | 0 | 0 | 4 | 830,77 | 1 |
| Staticwebapp - arr (iis) | 10000 | 1 | 0 | 4 | 635,93 | 1 |
| Staticwebapp -peppermint reverso proxy (portátil) yarp com IIS | 10000 | 1 | 0 | 5 | 627,78 | 1 |
| Apiwebapp (direto) | 10000 | 0 | 0 | 4 | 3935,45 | 1 |
| Apiwebapp - arr (iis) | 10000 | 0 | 0 | 4 | 1590,07 | 1 |
| Apiwebapp - ppmintrv yarp no iis | 10000 | 0 | 0 | 5 | 1093,37 | 1 |
(de volta ao topo)
Você tem que descompactar biniries e configurar o arquivo appSsettings.json
Você precisa instalar asp.net 6, 7, 8 tempo de execução. No caso de usar o IIS, você deve instalá -lo antes com o pacote ASP.NET 6, 7.
(de volta ao topo)
{
"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 "
}
}
}
}
}(de volta ao topo)
As contribuições são o que tornam a comunidade de código aberto um lugar tão incrível para aprender, inspirar e criar. Quaisquer contribuições que você faz são muito apreciadas .
Se você tiver uma sugestão que melhoraria isso, bifór -l e crie uma solicitação de tração. Você também pode simplesmente abrir um problema com a tag "aprimoramento". Não se esqueça de dar uma estrela ao projeto! Obrigado novamente!
git checkout -b feature/AmazingFeature )git commit -m 'Add some AmazingFeature' )git push origin feature/AmazingFeature )(de volta ao topo)
Distribuído sob a licença do MIT. Consulte LICENSE.txt para obter mais informações.
(de volta ao topo)
Alexandre Julien - @alexandrejulien
Link do projeto: https://github.com/alexandrejulien/peppermint.reverseproxy
(de volta ao topo)