Trabalhando com SSL
Esta página foi traduzida automaticamente do inglês. Ler o original
Trabalhar com SSL para desenvolvimento pode ser necessário ao atuar em contextos que exigem segurança, como a maioria dos cenários de desenvolvimento web. O Sisk opera sobre HttpListener, que não oferece suporte nativo a HTTPS, apenas HTTP. No entanto, existem soluções alternativas que permitem usar SSL no Sisk. Veja-as abaixo:
Através do Sisk.Cadente.CoreEngine #
- Disponível em: Linux, macOS, Windows
- Esforço: fácil
É possível usar o motor experimental Cadente em projetos Sisk, sem exigir configuração adicional no computador ou no projeto. Você precisará instalar o pacote Sisk.Cadente.CoreEngine em seu projeto para poder usar o servidor Cadente no servidor Sisk.
Para configurar SSL, você pode usar os métodos UseSsl e UseEngine do builder:
using var http = HttpServer.CreateBuilder()
.UseEngine<CadenteHttpServerEngine>()
.UseSsl(CertificateHelper.CreateTrustedDevelopmentCertificate("localhost"))Nota: este pacote ainda está na fase experimental.
Através do IIS no Windows #
- Disponível em: Windows
- Esforço: médio
Se você está no Windows, pode usar o IIS para habilitar SSL no seu servidor HTTP. Para que isso funcione, é aconselhável que você siga este tutorial antes, caso queira que sua aplicação escute em um host diferente de “localhost.”
Para que isso funcione, você deve instalar o IIS através dos recursos do Windows. O IIS está disponível gratuitamente para usuários do Windows e Windows Server. Para configurar SSL em sua aplicação, tenha o certificado SSL pronto, mesmo que seja autoassinado. Em seguida, você pode ver como configurar SSL no IIS 7 ou superior.
Através do mitmproxy #
- Disponível em: Linux, macOS, Windows
- Esforço: fácil
mitmproxy é uma ferramenta de proxy de interceptação que permite a desenvolvedores e testadores de segurança inspecionar, modificar e registrar o tráfego HTTP e HTTPS entre um cliente (como um navegador web) e um servidor. Você pode usar o utilitário mitmdump para iniciar um proxy SSL reverso entre seu cliente e sua aplicação Sisk.
- Primeiro, instale o mitmproxy em sua máquina.
- Inicie sua aplicação Sisk. Para este exemplo, usaremos a porta 8000 como a porta HTTP insegura.
- Inicie o servidor mitmproxy para escutar na porta segura 8001:
mitmdump --mode reverse:http://localhost:8000/ -p 8001E você está pronto! Já pode acessar sua aplicação através de https://localhost:8001/. Sua aplicação não precisa estar em execução para você iniciar o mitmdump.
Alternativamente, você pode adicionar uma referência ao auxiliar mitmproxy em seu projeto. Isso ainda requer que o mitmproxy esteja instalado em seu computador.
Através do pacote Sisk.SslProxy #
- Disponível em: Linux, macOS, Windows
- Esforço: fácil
Importante
O pacote Sisk.SslProxy está obsoleto em favor do pacote Sisk.Cadente.CoreEngine e não será mais mantido.
O pacote Sisk.SslProxy é uma maneira simples de habilitar SSL em sua aplicação Sisk. No entanto, é um pacote extremamente experimental. Pode ser instável trabalhar com este pacote, mas você pode fazer parte da pequena porcentagem de pessoas que contribuirão para tornar este pacote viável e estável. Para começar, você pode instalar o pacote Sisk.SslProxy com:
dotnet add package Sisk.SslProxyNota
Você deve habilitar “Include prerelease” no Gerenciador de Pacotes do Visual Studio para instalar o Sisk.SslProxy.
Novamente, é um projeto experimental, portanto nem pense em colocá-lo em produção.
No momento, o Sisk.SslProxy pode lidar com a maioria dos recursos do HTTP/1.1, incluindo HTTP Continue, Chunked-Encoding, WebSockets e SSE. Leia mais sobre o SslProxy aqui.