Sisk

使用 SSL

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

在开发中使用 SSL 可能是必要的,尤其是在需要安全性的环境下,例如大多数 Web 开发场景。Sisk 基于 HttpListener 实现,而 HttpListener 本身不支持原生 HTTPS,只支持 HTTP。不过,仍有一些变通办法可以让你在 Sisk 中使用 SSL。下面介绍几种方式:

通过 Sisk.Cadente.CoreEngine #

  • 可用平台:Linux、macOS、Windows
  • 工作量:容易

可以在 Sisk 项目中使用实验性的 Cadente 引擎,而无需在计算机或项目中进行额外配置。你需要在项目中安装 Sisk.Cadente.CoreEngine 包,才能在 Sisk 服务器中使用 Cadente 服务器。

要配置 SSL,可以使用构建器的 UseSsl 和 UseEngine 方法:

C#
using var http = HttpServer.CreateBuilder()
    .UseEngine<CadenteHttpServerEngine>()
    .UseSsl(CertificateHelper.CreateTrustedDevelopmentCertificate("localhost"))

Note: this package is still in the experimental phase.

通过 Windows 上的 IIS #

  • 可用平台:Windows
  • 工作量:中等

如果你使用 Windows,可以通过 IIS 为你的 HTTP 服务器启用 SSL。为此,建议先阅读 此教程,尤其是当你的应用需要监听除 “localhost” 之外的主机时。

要实现此功能,需要通过 Windows 功能安装 IIS。IIS 对 Windows 和 Windows Server 用户免费提供。要在应用中配置 SSL,请准备好 SSL 证书,即使是自签名证书也可以。随后,你可以参考 在 IIS 7 或更高版本上设置 SSL 的方法。

通过 mitmproxy #

  • 可用平台:Linux、macOS、Windows
  • 工作量:容易

mitmproxy 是一种拦截代理工具,允许开发者和安全测试人员检查、修改和记录客户端(如网页浏览器)与服务器之间的 HTTP 与 HTTPS 流量。你可以使用 mitmdump 实用程序在客户端和 Sisk 应用之间启动一个反向 SSL 代理。

  1. 首先,在机器上安装 mitmproxy。
  2. 启动你的 Sisk 应用。此示例使用 8000 端口作为不安全的 HTTP 端口。
  3. 启动 mitmproxy 服务器,在安全端口 8001 上监听:
Shell
mitmdump --mode reverse:http://localhost:8000/ -p 8001

这样就可以开始使用了!你可以通过 https://localhost:8001/ 访问你的应用。即使你的应用未运行,也可以启动 mitmdump。

另外,你也可以在项目中添加对 mitmproxy helper 的引用。这仍然要求在电脑上已安装 mitmproxy。

Sisk.SslProxy 包(已停用) #

小心

Sisk.SslProxy 包已在 NuGet 上停用并弃用。它已无法针对当前的 Cadente API 编译。请勿使用它:改为使用 Cadente 引擎 的原生 SSL 支持。

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