- Por que usar HTTPS no ambiente local
- Para ficar o mais próximo possível do ambiente de produção
- Aplicação de políticas de segurança rigorosas - Content Security Policy (CSP)
- Uso de certos recursos do navegador, como service workers e cookies
Secure/com prefixo
- Uso de um nome de host específico em vez de localhost
- Usando HTTPS localmente
- Gerar um certificado autoassinado
→ A melhor ferramenta é o OpenSSL, mas apenas o simples mkcert já é suficiente
→ Instale uma CA local com mkcert -install e gere a chave com mkcert localhost
- Criar um servidor HTTPS com Node.js usando a chave do localhost
7 comentários
Que tal o CFSSL? Eu também vinha simplesmente usando o OpenSSL, mas vi o CFSSL ser apresentado em um livro que li recentemente. Fiquei curioso sobre os prós e contras e como ele se compara.
https://web.dev/i18n/ko/how-to-use-local-https/ Nem sabia que existia um artigo desses também.
Ao testar a conexão de um smartphone com um servidor local, parece que HTTPS é indispensável.
No meu caso, a aplicação muitas vezes roda em uma rede local sem acesso à internet,
então não consigo usar tunelamento do tipo ngrok.
O método de geração de certificado acima até funciona, mas não era muito prático de gerenciar.
Será que existe alguma outra forma?
Se a máquina de desenvolvimento for baseada em Windows, ao executar um proxy como o Fiddler e configurar no iPhone ou no celular Android o endereço de proxy para o endereço de conexão do Fiddler, o arquivo
hostsda máquina de desenvolvimento etc. será aplicado.(É necessário o processo de instalar no celular o certificado raiz autoassinado do próprio Fiddler)
Parece que também deve ser possível com algo como o mitmproxy.
https://pt.news.hada.io/topic?id=6151
Eu usei esta solução. Fiquei muito feliz com ela...
Para mim, com o ngrok, havia o problema de não funcionar em um ambiente local sem acesso à internet
e também o problema de não conseguir testar o suficiente por causa do limite de largura de banda.;;
A propósito, no Windows também existe o comando
New-SelfSignedCertificateno PowerShell, então é possível criar um certificado autoassinado sem instalar nenhuma ferramenta externa separada. Lembro que antigamente cheguei a escrever e usar um script em PowerShell para exportar o arquivo do certificado com isso.https://www.sysnet.pe.kr/2/0/12588