SSL Proxy (прекращённый)
Эта страница переведена с английского автоматически. Читать оригинал
Осторожно
Прекращён, не использовать. Пакет Sisk.SslProxy больше не поддерживается и помечен как устаревший в NuGet, без заменяющего пакета. Он больше не компилируется с текущим API Cadente. Для обслуживания HTTPS используйте встроенную поддержку SSL в Cadente engine или один из вариантов в Working with SSL. Эта страница сохраняется только в исторических целях.
Sisk SSL Proxy — это модуль, который обеспечивает HTTPS‑соединение для ListeningHost в Sisk и перенаправляет HTTPS‑сообщения в небезопасный HTTP‑контекст. Модуль был создан для обеспечения SSL‑соединения для сервиса, использующего HttpListener для работы, который не поддерживает SSL.
Прокси работает внутри того же приложения и прослушивает сообщения HTTP/1.1, пересылая их тем же протоколом в Sisk. В настоящее время эта функция находится в экспериментальной стадии и может быть настолько нестабильной, что её не следует использовать в продакшене.
На данный момент SslProxy поддерживает почти все возможности HTTP/1.1, такие как keep-alive, chunked‑encoding, websockets и т.д. Для открытого соединения с SSL‑прокси создаётся TCP‑соединение с целевым сервером, и прокси перенаправляется на установленное соединение.
SslProxy можно использовать с HttpServer.CreateBuilder следующим образом:
using var app = HttpServer.CreateBuilder(port: 5555)
.UseRouter(r =>
{
r.MapGet("/", request =>
{
return new HttpResponse("Hello, world!");
});
})
// добавить SSL в проект
.UseSsl(
sslListeningPort: 5567,
new X509Certificate2(@".\ssl.pfx", password: "12345")
)
.Build();
app.Start();Вы должны предоставить действительный SSL‑сертификат для прокси. Чтобы гарантировать, что сертификат принимается браузерами, не забудьте импортировать его в операционную систему, чтобы он функционировал корректно.