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.