Sisk

SSL 代理(已停用)

本页由英文自动翻译。 阅读原文

小心

已停用,请勿使用。 Sisk.SslProxy 包不再维护,在 NuGet 上已被标记为已弃用,且没有替代包。它已无法针对当前的 Cadente API 编译。若要提供 HTTPS,请使用 Cadente engine 的原生 SSL 支持或在 Working with SSL 中的选项之一。此页面仅作历史参考保留。

Sisk SSL 代理是一个模块,为 Sisk 中的 ListeningHost 提供 HTTPS 连接,并将 HTTPS 消息路由到不安全的 HTTP 上下文。该模块旨在为使用 HttpListener 运行的服务提供 SSL 连接,而 HttpListener 不支持 SSL。

代理在同一应用程序内部运行,监听 HTTP/1.1 消息,并以相同的协议转发给 Sisk。目前,此功能仍属高度实验性,可能不够稳定,不能在生产环境中使用。

目前,SslProxy 支持几乎所有 HTTP/1.1 特性,如 keep-alive、分块编码、WebSocket 等。要打开到 SSL 代理的连接,会创建到目标服务器的 TCP 连接,并将代理转发到已建立的连接上。

SslProxy 可以通过 HttpServer.CreateBuilder 使用,如下所示:

C#
using var app = HttpServer.CreateBuilder(port: 5555)
    .UseRouter(r =>
    {
        r.MapGet("/", request =>
        {
            return new HttpResponse("Hello, world!");
        });
    })
    // add SSL to the project
    .UseSsl(
        sslListeningPort: 5567,
        new X509Certificate2(@".\ssl.pfx", password: "12345")
    )
    .Build();

app.Start();

必须为代理提供有效的 SSL 证书。为确保浏览器接受该证书,请记得将其导入操作系统,以便正常工作。

输入关键词以搜索文档和 API 参考。