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

111

Existe uma maneira de acessar o ASP.NET Development Server interno do Visual Studio por meio de HTTPS?

Shawn Miller
fonte
2
Veja a resposta de @Guru Kara - a "resposta marcada" está desatualizada
Rob
8
Atualizei a resposta aceita
Shawn Miller

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

Guru Kara
fonte
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.

FlySwat
fonte
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

Aaron Fischer
fonte
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

MrzJkl
fonte
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