Como você usa https / SSL no localhost?

87

Gostaria de saber como configurar SSL em meu aplicativo da web no localhost.

Não tenho experiência em fazer isso, apreciaria uma orientação. Já terminei de implementar meu aplicativo web e preciso usar https no localhost ou enquanto o hospedo em um servidor.

Alguma ideia?

Saudações.

HShbib
fonte
Verifique post semelhante: stackoverflow.com/questions/36037510/…
Pusker György

Respostas:

23

Se você tiver IIS Express (com Visual Studio):

Para habilitar o SSL no IIS Express, você deve apenas definir “SSL Enabled = true” na janela de propriedades do projeto.

Veja as etapas e fotos neste projeto de código .

O IIS Express irá gerar um certificado para você (ele será solicitado, etc.). Observe que, dependendo da configuração, o site ainda pode iniciar automaticamente com o URL em vez do URL SSL. Você pode ver o URL SSL - anote o número da porta e substitua-o na barra de endereço do seu navegador, você deve conseguir entrar e testar.

A partir daí, você pode clicar com o botão direito do mouse em seu projeto, clicar nas páginas de propriedades, iniciar as opções e atribuir a URL de início - coloque o novo https com a nova porta (geralmente 44301 - observe a semelhança com a porta 443) e seu projeto começará corretamente a partir de então em.

insira a descrição da imagem aqui

JackArbiter
fonte
Posso escolher a porta? ou seja, use a porta https padrão; porta 443?
The Red Pea de
1
@TheRedPea Em todos os casos que encontrei, você precisa usar a porta 44301 para testar localmente em vez de usar a porta 443. Isso não afetará as portas que você usa para seu servidor ativo (que você vincula no IIS), que quase sempre será 443 presumindo que você esteja usando https.
JackArbiter
21

É fácil criar um certificado autoassinado, importá-lo e vinculá-lo ao seu site.

1.) Crie um certificado autoassinado:

Execute os 4 comandos a seguir, um de cada vez, em um prompt de comando elevado:

cd C:\Program Files (x86)\Windows Kits\8.1\bin\x64

makecert -r -n "CN=localhost" -b 01/01/2000 -e 01/01/2099 -eku 1.3.6.1.5.5.7.3.3 -sv localhost.pvk localhost.cer

cert2spc localhost.cer localhost.spc

pvk2pfx -pvk localhost.pvk -spc localhost.spc -pfx localhost.pfx

2.) Importar o certificado para o armazenamento de Autoridades de certificação de raiz confiável:

iniciar -> executar -> mmc.exe -> plugin de certificados -> "Autoridades de certificação raiz confiáveis" -> Certificados

Clique com o botão direito em Certificados -> Todas as tarefas -> Importar Encontre seu certificado "localhost" em C: \ Arquivos de programas (x86) \ Windows Kits \ 8.1 \ bin \ x64 \

3.) Vincular certificado ao site:

start -> (IIS) Manager -> Clique no seu servidor -> Clique em Sites -> Clique no seu site de nível superior -> Bindings

Adicione ou edite uma ligação para https e selecione o certificado SSL chamado "localhost".

4.) Importar certificado para o Chrome:

Configurações do Chrome -> Gerenciar certificados -> Importar certificado .pfx de C: \ certificados \ pasta

Teste o certificado abrindo o Chrome e navegando até https: // localhost /

Jason Williams
fonte
Como você obtém os arquivos que acabou de usar no comando makecert? localhost.pvk localhost.cer cert2spc localhost.cer localhost.spc. Como faço para que o arquivo private.key faça um arquivo allinone.pem para usar em outros servidores da Web, em seguida, IIS?
Se não quiser importar o certificado para o Chrome, você pode optar por desativar o recurso de segurança do Chrome que bloqueia o acesso a certificados autoassinados em localhost stackoverflow.com/a/31900210/2733283
Jason Williams
8

Esta pergunta é muito antiga, mas me deparei com esta página quando estava procurando a maneira mais fácil e rápida de fazer isso. Usar o Webpack é muito mais simples:

instalar webpack-dev-server

npm i -g webpack-dev-server

iniciar webpack-dev-server com https

webpack-dev-server --https
brianyang
fonte
2
Isso servirá os arquivos js que constituem o aplicativo, mas não executa o aplicativo.
user1944491
Isso pode ser usado junto com um servidor dev existente como o XAMPP?
Prometheus de