Sisk

SSL 代理

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

警告

此功能是实验性的,不应在生产环境中使用。如果您想让 Sisk 与 SSL 协作,请参阅 此文档。

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

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

目前,SslProxy 支持几乎所有 HTTP/1.1 功能,例如 keep-alive、分块编码、WebSockets 等。对于打开到 SSL 代理的连接,会创建一个到目标服务器的 TCP 连接,并将代理转发到已建立的连接。

SslProxy 可以与 HttpServer.CreateBuilder 一起使用,如下所示:

C#
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 证书。为了确保证书被浏览器接受,请记得将其导入到操作系统中,以便正确功能。

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