Configurar o IIS Express para access externo ao projeto do VS2010

Estou desenvolvendo um projeto no VS2010 e consigo visualizar meu site localmente através do IIS Express. Gostaria de ativar o access externo pela rede.

Toda a minha pesquisa me enviou para esta input de blog: http://blogs.iis.net/vaidyg/archive/2010/07/29/serving-external-traffic-with-webmatrix-beta.aspx , que é útil, mas não parece não mostrar como configurar ligações para um projeto iniciado no visual studio (não consigo encontrar a canvas nas capturas de canvas e editei informações de binding em applicationhost.config, mas isso não parece ser refletido quando executo o site de estúdio visual).

1 Depois de editar o arquivo applicationhost.config (localizado na pasta IISExpress em seus documentos), as ligações do seu site devem ficar como abaixo:

   

As ligações consistem em três partes. Em primeiro lugar, um endereço IP ou lista, ou como neste caso, um curinga. Em segundo lugar, o número da porta e, em terceiro lugar, um nome de host, ou lista, ou curinga (para filtragem pelo header do Host ). Para fins de desenvolvimento, um caractere curinga é o mais adequado aqui, pois você provavelmente usará uma porta exclusiva.

2 Como você está usando a binding não localhost, são necessárias permissions adicionais. Você pode executar o VS como administrador ou, preferencialmente, deve adicionar ACLs de URL para conceder as permissions necessárias. No exemplo abaixo, a permissão é dada a todos, mas você pode usar seu próprio nome de usuário.

Nota: O urlacl deve corresponder exatamente à binding. Portanto, um urlacl para http://*:8080 permitirá uma binding de *:8080:* , mas não uma binding de *:8080:localhost mesmo que o último seja um subconjunto do primeiro. Isso significa que, se, em vez de usar um caractere curinga, você listar headers de host em applicationhost.config , será necessário include um urlacl correspondente para cada um.

As etapas para configurar o HTTP.sys para tráfego externo são semelhantes à configuração de um site para usar uma porta reservada. No Windows 7 ou no Windows Vista, em um prompt de comando elevado, execute o seguinte comando:

netsh http add urlacl url=http://*:8080/ user=DOMAIN\username

No Windows XP, execute o seguinte comando em um prompt de comando elevado:

httpcfg set urlacl /u http://*:8080/ /a D:(A;;GX;;;WD)

Nota 2 Se a execução do VS como administrador ou a adição de inputs de ACL não resolver o problema, execute o IIS Express a partir da linha de comando e verifique se há alguma mensagem de falha de registro de binding. Para iniciar a partir da linha de comando, forneça este comando:

 iisexpress.exe /site:"your-site-name" 

3 Finalmente, você precisará de inputs de firewall apropriadas. Para isso, é mais fácil usar o console “Firewall do Windows com Segurança Avançada”.

Em “Regras de Entrada”, escolha “Nova Regra …”.

  • O tipo de regra é “Personalizado”.
  • O programa é Serviços-> Personalizar …-> Aplicar apenas aos serviços. (Embora o IIS Express não seja um serviço, o multiplexador HTTP usado é).
  • Protocolo é TCP
  • Portas Específicas: Liste todas as portas para todas as ligações do IIS Express. Você pode voltar a essa regra e adicionar portas a qualquer momento. (Se isso se tornar cansativo, você pode adicionar um intervalo como 40000-65534 que abrange todo o intervalo usado pelo Visual Studio, mas esteja ciente de que isso é menos seguro).
  • A ação é “Permitir a conexão”
  • O perfil será um dos seguintes. Em caso de dúvida, escolha “Domínio + privado”.
    • “Domínio”, se a sua é uma área de trabalho corporativa e só será executada no domínio local
    • “Domínio + Privado” Se o seu for uma máquina de desenvolvimento privada em um ambiente não corporativo ou um laptop corporativo que também precise funcionar ao trabalhar em casa.
    • “Domínio, Privado e Público”, se você precisar fazer demonstrações em redes não privadas.
  • O nome deve ser algo como “IIS Express Dev Server”

Também passei horas sobre esse problema, tentando navegar do meu Android Xoom para minha máquina dev7 do win7, para poder testar um novo aplicativo da Web asp.net que criei. Tudo o que fiz foi alterar o applicationhost.config do IISExpress de usar o PC HostName para o endereço IP atual do PC, para o meu novo site.

  

para

  

Depois que fiz isso e reiniciei o IISExpress … consegui navegar na minha máquina dev-Lee e ver meu aplicativo do meu Xoom!

Podemos adicionar vários endereços de binding editando o applicationhost.config do IIS Express

      

Agora podemos acessar o site da lan usando o endereço IP.

Acessando sites locais da Lan usando o IIS Express

O Visual Studio 2013 SP1 e superior (2015) inclui a configuração “Aplicar configurações do servidor a todos os usuários (armazenar no arquivo de projeto)”. Isso é ativado por padrão. Quando habilitado, o Visual Studio inicia o IIS Express com argumentos de linha de comando que o fazem usar um arquivo de configuração diferente. A localização do arquivo ‘applicationhost.config’ está sob o diretório do projeto em ‘.vs \ config’.

Fizemos uma extensão VS (2012, 2013, 2015) gratuita chamada Conveyor que permite isso – você pode encontrá-la através do menu Ferramentas-> Extensões … no VS ou no site da galeria https://visualstudiogallery.msdn.microsoft. com / a429dbb7-a982-4541-b401-934375c02c0f? SRC = Início

Se você estiver trabalhando com o Visual Studio, siga estas etapas para acessar o IIS-Express sobre IP-Address:

  1. Obtenha seu endereço IP do host: ipconfig na linha de comando do Windows
  2. GoTo $ (SolutionDir) .vs \ config \ applicationHost.config
  3. Encontrar
  4. Adicione:
    com o seu endereço IP
  5. Execute o seu Visual Studio com direitos de administrador e tudo deve funcionar
  6. Talvez procure por alguns problemas de firewall se você tentar se conectar a partir do controle remoto

A dica é que o Visual Studio tem seu próprio arquivo applicationHost.config!

Eu tive muitos problemas para fazer isso funcionar no visual studio 2012, eu passei de 404 erros para 503 erros. Eventualmente o que funcionou para mim, foi eliminar toda a configuração relacionada na configuração do IIS Express …

 "\Program Files (x86)\IIS Express\appcmd.exe" list site "\Program Files (x86)\IIS Express\appcmd.exe" delete site xxx "\Program Files (x86)\IIS Express\appcmd.exe" delete site yyy 

Em seguida, criei um novo diretório virtual a partir da página de propriedades em meu projeto da web no VS, mas antes de criar o diretório virtual, alterei o nome do host para http: // myhost: 80 / e pressione o botão Criar diretório virtual. Anteriormente, eu estava recebendo erros dizendo que o nome do host deve ser ‘localhost’, mas desta vez não. E depois disso, funcionou.

Resumindo, limpe primeiro a configuração existente e comece de novo.

Se o seu domínio externo é “name.mydyndns.com”, então você precisa escrever:

  

Isso funciona no Windows 2003 Server e no IIS 7.5 Express.

Screenshot

no pool de aplicativos no IIS defina “Ativar aplicativos de 32 bits” para “true”.