Работа с SSL
Эта страница переведена с английского автоматически. Читать оригинал
Работа с SSL в процессе разработки может быть необходима при работе в контекстах, требующих безопасности, таких как большинство сценариев веб‑разработки. Sisk работает поверх HttpListener, который не поддерживает нативный HTTPS, только HTTP. Однако существуют обходные пути, позволяющие использовать SSL в Sisk. См. ниже:
Через Sisk.Cadente.CoreEngine #
- Доступно на: Linux, macOS, Windows
- Сложность: легко
Можно использовать экспериментальный движок Cadente в проектах Sisk без необходимости дополнительной настройки компьютера или проекта. Вам потребуется установить пакет Sisk.Cadente.CoreEngine в ваш проект, чтобы иметь возможность использовать сервер Cadente в сервере Sisk.
Для настройки SSL вы можете использовать методы UseSsl и UseEngine билдера:
using var http = HttpServer.CreateBuilder()
.UseEngine<CadenteHttpServerEngine>()
.UseSsl(CertificateHelper.CreateTrustedDevelopmentCertificate("localhost"))Примечание: этот пакет всё ещё находится в экспериментальной фазе.
Через IIS в Windows #
- Доступно на: Windows
- Сложность: средняя
Если вы используете Windows, вы можете воспользоваться IIS для включения SSL на вашем HTTP‑сервере. Чтобы это работало, рекомендуется предварительно пройти этот учебник, если вы хотите, чтобы ваше приложение слушало хост, отличный от «localhost».
Для этого необходимо установить IIS через компоненты Windows. IIS доступен бесплатно пользователям Windows и Windows Server. Чтобы настроить SSL в вашем приложении, подготовьте SSL‑сертификат, даже если он самоподписан. Затем вы можете ознакомиться с инструкцией по настройке SSL в IIS 7 и выше.
Через mitmproxy #
- Доступно на: Linux, macOS, Windows
- Сложность: легко
mitmproxy — это инструмент перехватывающего прокси, позволяющий разработчикам и специалистам по безопасности инспектировать, изменять и записывать HTTP и HTTPS трафик между клиентом (например, веб‑браузером) и сервером. Вы можете использовать утилиту mitmdump для запуска обратного SSL‑прокси между вашим клиентом и приложением Sisk.
- Сначала установите mitmproxy на ваш компьютер.
- Запустите ваше приложение Sisk. Для этого примера будем использовать порт 8000 как небезопасный HTTP‑порт.
- Запустите сервер mitmproxy, чтобы он слушал защищённый порт 8001:
mitmdump --mode reverse:http://localhost:8000/ -p 8001И всё готово! Вы уже можете получить доступ к вашему приложению по адресу https://localhost:8001/. Ваше приложение не обязано быть запущено, чтобы вы могли запустить mitmdump.
В качестве альтернативы вы можете добавить ссылку на mitmproxy helper в ваш проект. Это всё равно требует, чтобы mitmproxy был установлен на вашем компьютере.
Пакет Sisk.SslProxy (прекращённый) #
Осторожно
Пакет Sisk.SslProxy прекращён и помечен как устаревший в NuGet. Он больше не компилируется с текущим API Cadente. Не используйте его: вместо этого используйте нативную поддержку SSL в движке Cadente.