HTTPS com servidor de desenvolvimento ASP.NET integrado do Visual Studio


Respostas:


143

A partir de agora podemos usar o IIS Express para desenvolver e testar em SSL. Aqui está um artigo completo que explica como usar o IIS Express e o Visual Studion 2010 para desenvolver sites em SSL.

insira a descrição da imagem aqui

Próximo

insira a descrição da imagem aqui

Então você vai conseguir isso

insira a descrição da imagem aqui

Trabalhar com SSL em tempo de desenvolvimento é mais fácil com IISExpress

Apresentando o IIS Express


7
Essa resposta deve ser aumentada, a resposta aceita está muito desatualizada. Usei com sucesso os métodos no artigo vinculado para fazer o SSL rodar via VisualStudio 2010 e IIS Express
Tom Wayson

3
Então não se esqueça de usar o URL SSL dessa janela de propriedades, porque se você não o alterou, da próxima vez que você começar a depurar, ele ainda usará o URL não SSL (óbvio, mas fácil de ignorar ..)
BornToCode

Recebo "Nome de host inválido" ao usar isso.
MrFox

Isso parece não funcionar com o VS2017. O IISExpress deve ler o applicationhost.config na pasta /.vs/config/ da solução. Alguém sabe o segredo para fazer isso funcionar?
MC9000 de

Meio que funciona para mim (Comunidade VS 2017). Quando eu depuro, tenho que copiar / colar manualmente o URL SSL no navegador ... apenas clicar no botão de depuração no IDE me leva à versão não SSL.
John Riehl

38

Cassini não oferece suporte a HTTPS.

No entanto, você pode usar o IIS para fazer isso, se estiver usando o IIS 5.1, baixe o pacote de ferramentas do MS IIS para IIS 6.0, que vem com uma ferramenta para criar certificados SSL autoassinados. Isso funciona no IIS 5.1

http://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&DisplayLang=en

A única ferramenta de que você precisa (SelfSSL.exe) funciona perfeitamente com o IIS 5.1. Infelizmente, ele vem junto com um monte de outras coisas.

Passos:

  • Instale o arquivo de ferramentas do IIS. Se desejar, você pode clicar em Personalizado e instruí-lo a instalar apenas SelfSSL.
  • Ative o site no IIS em que deseja instalar um certificado SSL também.
  • Vá para Iniciar / Programas / Recursos IIS / SelfSSL
  • Isso iniciará um prompt de comando no diretório SelfSSL.
  • Usando a ajuda fornecida, execute SelfSSL. O comando que usei foi: selfssl.exe / N: cn = [MACHINENAME] / K: 1024 / V: 90 / S: 5 / P: 443
  • A opção / S indica em qual site instalar o certificado. Você pode descobrir o número observando seus sites no IIS e contando (começando em 1 para o primeiro site, não em 0), até o site desejado.
  • Depois de executado, navegue até o seu host local por HTTPS
  • Você deve receber uma mensagem de erro informando que este certificado é de uma fonte não confiável. Você pode adicionar o nome da máquina à lista de “Autoridades confiáveis” do navegador ou pode dizer ao navegador para ignorar isso.

Neste ponto, você poderá executar seu host local por HTTPS.


1
Não há razão para usar o estúpido servidor da web VS embutido. Por que usar isso quando você deveria usar o IIS em primeiro lugar. Conheça o IIS, pare de dizer que é simplesmente muito difícil e trabalhoso apenas usar o botão Criar Diretório Virtual no VS, que torna totalmente fácil para você criar um no IIS. E conheça o IIS. É hora de os desenvolvedores pararem de temer isso. Conheça o App Pools, etc. Caso contrário, eu vi que a maioria dos desenvolvedores que usam o servidor integrado não tem noção quando se trata de IIS. Não é bom para sua carreira se você for um desenvolvedor. Mais algumas etapas para depurar, e daí.
PositiveGuy

3
Veja a resposta de Guru Kara ... IIS Express é a melhor resposta
Lee Harold,

12

Wilco Bauwer escreveu um servidor webdev que suporta https. Ele é um dos desenvolvedores que trabalharam no cassini visual studio 2005 integrado ao servidor web. WebDev.WebServer2


1
O link não está mais acessível, mas você pode obtê-lo em web.archive.org/web/20080123212335/http://www.wilcob.com/Wilco/…
labilbe

1
O link está acessível novamente.
Scott Stafford

Muito obrigado por isso nunca soube que havia uma classe HttpListener que você remodelou meu mundo!
Peter

2

Selecione o arquivo de projeto no Solution Explorer: por exemplo: "WebApplication1".

Pressionando ALT + ENTER você insere as propriedades do projeto.

Selecione "DEBUG" no lado esquerdo .

Aqui você pode selecionar "Ativar SSL" .

Então você pode iniciar seu projeto com IIS Express normalmente e ele começará a usar SSL, a nova porta será 44301


1
A melhor explicação seria agradecer
Nicolás Alarcón Rapela

O que você quer saber?
MrzJkl

3
A seção "DEBUG" nas propriedades do projeto existe para .NET Core WebApplications. Para .NET Framework WebApplication - selecione o projeto da web, pressione F4 (para mostrar a janela Propriedades) - há uma propriedade "Ativar SSL"
Sergey Smolnikov

Obrigado, Sergey. Não consegui encontrar isso, pois não aparece na página de configurações do projeto. Apenas abaixo do gerenciador de soluções quando você pressiona F4!
Norbert Norbertson
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.