Peppermint นั้นเรียบง่ายและเบา. NET Reverse Proxy ตาม ASP.NET, Kestrel และใช้โครงการ YARP โดย Microsoft (https://github.com/microsoft/reverse-proxy)
สำรวจเอกสาร»
·รายงานข้อบกพร่อง·คุณลักษณะการร้องขอ
Peppermint Reverse Proxy เป็นการใช้งานง่าย ๆ ของโครงการ Microsoft YARP (https://microsoft.github.io/reverse-proxy/)
มันเป็นห้องสมุด Microsoft Yarp Project รุ่นนอกกล่องซึ่งรวมเข้ากับแอปพลิเคชัน ASP.NET ที่มีน้ำหนักเบา วัตถุประสงค์คือเพื่อเสนอพร็อกซีย้อนกลับของ YARP โดยไม่ต้องผ่านขั้นตอนการพัฒนาและการกำหนดค่าของ YARP เท่านั้น
แพลตฟอร์มทวีคูณมีให้บริการ:
ข้อเสนอ YARP:
(กลับไปด้านบน)
YARP Reverse Proxy เสนอการแสดงที่ดีสำหรับเวิร์กโหลดจำนวนมาก แต่คุณจะคลายภาระงานหนักโดยไม่ต้องมีทรัพยากรมากขึ้น
| กรณี | ตัวอย่าง | เวลาเฉลี่ย (MS) | เวลาขั้นต่ำ (MS) | เวลาสูงสุด (MS) | ปริมาณงาน (http call/sec) | ด้าย |
|---|---|---|---|---|---|---|
| StaticWebapp - (โดยตรง) | 10,000 | 0 | 0 | 4 | 830,77 | 1 |
| StaticWebapp - arr (iis) | 10,000 | 1 | 0 | 4 | 635,93 | 1 |
| StaticWebApp -Peppermint Reverse Proxy (พกพา) YARP กับ IIS | 10,000 | 1 | 0 | 5 | 627,78 | 1 |
| apiwebapp (โดยตรง) | 10,000 | 0 | 0 | 4 | 3935,45 | 1 |
| apiwebapp - arr (iis) | 10,000 | 0 | 0 | 4 | 1590,07 | 1 |
| apiwebapp - ppmintrv yarp บน iis | 10,000 | 0 | 0 | 5 | 1093,37 | 1 |
(กลับไปด้านบน)
คุณต้องคลายซิปไบนารีและกำหนดค่าไฟล์ appsettings.json
คุณต้องติดตั้ง asp.net 6, 7, 8 รันไทม์ ในกรณีที่ใช้ IIS คุณต้องติดตั้งก่อนด้วยชุด ASP.NET 6, 7
(กลับไปด้านบน)
{
"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 "
}
}
}
}
}(กลับไปด้านบน)
การมีส่วนร่วมคือสิ่งที่ทำให้ชุมชนโอเพ่นซอร์สเป็นสถานที่ที่น่าทึ่งในการเรียนรู้สร้างแรงบันดาลใจและสร้าง การมีส่วนร่วมใด ๆ ที่คุณทำจะ ได้รับการชื่นชมอย่างมาก
หากคุณมีข้อเสนอแนะที่จะทำให้สิ่งนี้ดีขึ้นโปรดแยก repo และสร้างคำขอดึง นอกจากนี้คุณยังสามารถเปิดปัญหาด้วยแท็ก "การปรับปรุง" อย่าลืมให้โครงการเป็นดารา! ขอบคุณอีกครั้ง!
git checkout -b feature/AmazingFeature )git commit -m 'Add some AmazingFeature' )git push origin feature/AmazingFeature )(กลับไปด้านบน)
แจกจ่ายภายใต้ใบอนุญาต MIT ดู LICENSE.txt สำหรับข้อมูลเพิ่มเติม
(กลับไปด้านบน)
Alexandre Julien - @alexandrejulien
ลิงค์โครงการ: https://github.com/alexandrejulien/peppermint.reverseproxy
(กลับไปด้านบน)