Usando domínios personalizados com o IIS Express

304

Tradicionalmente, uso domínios personalizados com meu servidor de desenvolvimento localhost. Algo ao longo das linhas de:

dev.example.com
dev.api.example.com

Isso me proporcionou muita flexibilidade ao trabalhar com APIs externas, como o Facebook. Isso funcionou muito bem no passado com o Visual Studio Development Server embutido, porque tudo o que eu precisava fazer era adicionar um CNAME aos registros DNS apontados 127.0.0.1.

No entanto, não consegui fazer isso funcionar com o IIS Express. Tudo o que tentei parece ter falhado. Eu até adicionei a configuração XML correta ao applicationHost.configarquivo do IIS Express, mas parece não reconhecer as entradas tão válidas quanto uma instalação verdadeira do IIS faria.

<binding protocol="http" bindingInformation="*:1288:dev.example.com" />

Sempre que entro nessa linha e tento solicitar http://dev.example.com:1288, recebo a seguinte mensagem:

Solicitação incorreta - nome de host inválido

Alguém sabe se estou perdendo algo óbvio? Ou a equipe do IIS Express realmente não tinha a previsão de ver esse tipo de uso?

Nick Berardi
fonte
Verifique se o atributo applicationPool do nó do aplicativo está definido como "Clr2IntegratedAppPool" ou "Clr4IntegratedAppPool". Eu recebi o erro Bad Hostname que você está vendo ao usar "Clr2ClassicAppPool" ou "Clr4ClassicAppPool".
Neil Monroe
confused - os registros CNAME não aceitam endereços IP, mas outros nomes de host. Você quis dizer um registro?
Scott Coates
1
Eu tive muitos problemas com isso e achei muito mais fácil de usar Basta IIS em vez do IIS Express
user0b101010
Eu acabei de encontrar isso também. Eu esperava que apenas olhasse para o número da porta e ignorasse o domínio. Não tenho tanta sorte. Desejo que eu poderia permitir que "aceitar tudo" na porta ....
Brady Moritz
Vote agora! Eu adicionei uma sugestão de UserVoice: visualstudio.uservoice.com/forums/121579-visual-studio/…
Luke Puplett 30/04/2015

Respostas:

367

Foi isso que funcionou para mim (atualizado para o VS 2013, consulte o histórico de revisões de 2010, para o VS 2015, consulte o seguinte: https://stackoverflow.com/a/32744234/218971 ):

  1. Clique com o botão direito do mouse em seu Projeto de Aplicativo da Web ▶ PropertiesWebe configure a Serversseção da seguinte maneira:
    • Selecione IIS Express ▼na lista suspensa
    • URL do projeto: http://localhost
    • Substituir URL raiz do aplicativo: http://dev.example.com
    • Clique em Create Virtual Directory(se você receber um erro aqui, talvez seja necessário desativar o IIS 5/6/7/8, altere o IIS Default Sitepara qualquer coisa que não seja a porta :80, verifique se o Skype não está usando a porta 80 , etc.)
  2. Opcionalmente: defina Start URLcomohttp://dev.example.com
  3. Abra %USERPROFILE%\My Documents\IISExpress\config\applicationhost.config(Windows XP, Vista e 7) e edite a definição do site no <sites>bloco de configuração para seguir as seguintes linhas:

    <site name="DevExample" id="997005936">
        <application path="/" applicationPool="Clr2IntegratedAppPool">
            <virtualDirectory
                path="/"
                physicalPath="C:\path\to\application\root" />
        </application>
        <bindings>
            <binding
                protocol="http"
                bindingInformation=":80:dev.example.com" />
        </bindings>
        <applicationDefaults applicationPool="Clr2IntegratedAppPool" />
    </site>
    
  4. Se estiver executando o MVC: verifique se applicationPoolestá definido como uma das opções "Integradas" (como "Clr2IntegratedAppPool").

  5. Abra seu hostsarquivo e adicione a linha 127.0.0.1 dev.example.com.
  6. ► Start sua aplicação!

Alguns ótimos conselhos dos comentários:

  • Pode ser necessário executar o Visual Studio como administrador.
  • Se você quiser que outros desenvolvedores vejam o IIS sendo executado netsh http add urlacl url=http://dev.example.com:80/ user=everyone
  • Se você deseja que o site seja resolvido para todos os hosts definidos bindingInformation="*:80:". Use qualquer porta que você quiser, 80 é apenas conveniente.
David Murdoch
fonte
12
Isso é exatamente o que eu fiz, estava prestes a escrever isso, mas você me venceu :-) Como observação, se você quiser que outros desenvolvedores vejam o IIS, faça algo como "netsh http add urlacl url = dev.example.com:80 usuário = todos "
EBarr 07/04
6
Além disso, se você deseja que o site seja resolvido para todos os hosts, use: bindingInformation = "*: 80:" Eu uso isso para que o localtunnel.com funcione.
Lance Fisher
17
Eu estava recebendo um erro de acesso negado. A execução do VS 2012 foi corrigida pelo administrador.
Xanadont 6/10/12
3
qual versão do IIS Express é essa? Estou executando o VS2012 (que acredito ser o IIS Express 8.0) e, quando clico no botão de opção "Usar servidor IIS local", na área "Servidores" da página de propriedades da Web, clique na caixa de seleção Usar o IIS Express e tente para inserir " mydev.example.com " e, em seguida, pressione o botão "Criar diretório virtual", recebo o erro "Não é possível criar o diretório virtual. Não é possível criar o site mydev.example.com". Você deve especificar "localhost" para o nome do servidor.
Michael McCarthy
12
Isso é complicado. É preciso mudar os cumprimentos em vários lugares diferentes. É fácil fazer uma verdadeira bagunça. Não existe realmente uma maneira mais simples?
285 Anderson
151

Para o Visual Studio 2015, as etapas nas respostas acima se aplicam, mas o applicationhost.configarquivo está em um novo local. Na pasta "solução", siga o caminho; isso é confuso se você atualizou e teria DUAS versões applicationhost.configem sua máquina.

\.vs\config

Dentro dessa pasta, você verá o arquivo applicationhost.config

Como alternativa, você pode simplesmente procurar na pasta da solução o arquivo .config e encontrá-lo dessa maneira.

Eu pessoalmente usei a seguinte configuração:

insira a descrição da imagem aqui

Com o seguinte no meu arquivo hosts:

127.0.0.1       jam.net
127.0.0.1       www.jam.net

E o seguinte no meu arquivo applicationhost.config:

<site name="JBN.Site" id="2">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Dev\Jam\shoppingcart\src\Web\JBN.Site" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:49707:" />
            <binding protocol="http" bindingInformation="*:49707:localhost" /> 
    </bindings>
</site>

Lembre-se de executar sua instância do visual studio 2015 como administrador! Se você não quiser fazer isso toda vez, recomendo:

Como executar o Visual Studio como administrador por padrão

Espero que isso ajude alguém, tive problemas ao tentar atualizar para o visual studio 2015 e percebi que nenhuma das minhas configurações estava sendo transferida.

njfife
fonte
9
A parte crucial é adicionar a segunda *:49707:ligação em vez de substituir o padrão, *:49707:localhostconforme sugerido em muitas outras respostas. E você tem que executar o VS como administrador, de fato (sic!). Obrigado.
Fracz 10/06/16
3
Você também pode usar um URL como http://jam.127.0.0.1.xip.io/se não quiser modificar o arquivo hosts. Além disso, nenhum colaborador precisará modificar o deles. Veja xip.io .
Zack Martin
1
Eu acho que vale a pena notar que pasta ".VS" está escondida e deve ser tornada visível no primeiro
Desapontado
3
Confirmei que isso também funciona no Visual Studio 2017. Curiosamente, eu não precisava dos dois elementos <binding> (apenas o primeiro sem "localhost"). Visual Studio, no entanto, certamente não precisa ser executado como administrador, que é uma espécie de irritante
Loren Paulsen
1
Eu só gostaria que houvesse uma maneira de aqueles de nós que não têm permissão para executar nada administrativamente para fazer isso. Os empregadores / clientes que cobrem o privilégio de proibir o administrador sem pensar em como eles podem habilitá-lo com segurança são incrivelmente míopes.
9788 Steve Jobs:
44

Ao usar o Visual Studio 2012 com o IIS Express, a alteração de uma ligação existente não funciona permanentemente. (Pode funcionar até você fechar o VS, mas depois disso, as coisas ficam realmente complicadas.)

A chave é manter a ligação do host local existente e adicionar uma nova ligação após ela.

A menos que você esteja executando como administrador, também precisará executar netsh add urlacl(para obter permissões para executar um site host não local como um usuário padrão).

Se você deseja permitir qualquer nome de host, o processo completo é o seguinte:

  1. Crie seu aplicativo Web e descubra qual porta ele está usando (consulte propriedades do projeto, guia Web, URL do projeto).
  2. Em um prompt do administrador, execute os seguintes comandos (substituindo o número da porta pelo número da porta que você descobriu em # 1):

    netsh http add urlacl url="http://*:portnumber/" user=everyone
    netsh http add urlacl url="http://localhost:portnumber/" user=everyone
    

Você também pode usar seu nome de usuário (DOMAIN \ USER) em vez de todos, para melhor segurança.

  1. Abra applicationhost.config (geralmente em Meus documentos \ IIS Express \ config) e localize o elemento com o número da sua porta.
  2. Adicione mais uma ligação com o nome do host desejado (neste caso, *). Por exemplo:

    <site name="MvcApplication1" id="2">
        <application path="/" applicationPool="Clr4IntegratedAppPool">
            <virtualDirectory path="/" physicalPath="C:\sites\MvcApplication1" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:12853:localhost" />
            <binding protocol="http" bindingInformation="*:12853:*" />
        </bindings>
    </site>
    

Observe que, se você deseja abrir todos os nomes de host (*), precisará de dois comandos netsh (um para * e outro para localhost). Se você deseja apenas abrir um nome de host específico, não precisa estritamente do segundo comando netsh (localhost); apenas aquele com o seu nome de host específico é suficiente.

dmatson
fonte
Fiz o mesmo (primeira abordagem), ao navegar para mycustomhost: myportnr , recebo "Serviço indisponível". VS2012. Eu não posso experimentar a segunda vez que não existe o IIS Express em "Meus Documentos" e applicationhost.config I encontrado em c: \ Program Files \ IIS expresso não tinha configuração para a minha aplicação web ...
firepol
2
Com o VS2013, acho que essa configuração só funciona se eu executar como administrador! (Em execução como não administrador, o IIS Express parece ignorar a segunda ligação - se eu abrir sua interface do usuário a partir do ícone de notificação, o IIS mostrará meu site como em execução, mas apenas mostrará a primeira ligação e só posso usar o host local ... Se Estou executando como administrador, ele mostra as duas ligações na interface do usuário e as duas funcionam.) Adicionei os urlacls com netsh, mas isso parece não fazer diferença - o IIS Express parece nem tentar ligar outro local que não seja o host local se não for elevado.
Ian Griffiths
Adicionando um registro com o *resolvido "Serviço Indisponível" para mim.
Jerone
Que tal um cenário em que você precisa usar HTTPS na porta 443?
Kixoka # 9/18
@Kixoka Estou tentando executar o HTTPS. Consegui fazê-lo funcionar, mas o navegador reclama que o certificado não corresponde ao domínio. Eu supero isso, mas todos os recursos falham ao carregar, então não há imagens, scripts ou CSS.
Prime By Design
24

O nome do host inválido indica que o site real que você configurou no arquivo de configuração do IIS Express (provavelmente) não está em execução. O IIS Express não possui um modelo de processo como o IIS.


Para que seu site seja executado, ele precisa ser iniciado explicitamente (abrindo e acessando a partir do webmatrix ou a partir da linha de comando chamando iisexpress.exe (a partir do diretório de instalação) com o parâmetro / site.


Em geral, as etapas para permitir que nomes DNS totalmente qualificados sejam usados ​​para acesso local são Vamos usar o seu exemplo do nome DNS dev.example.com

  1. edite o arquivo% windows% \ system32 \ drivers \ etc \ hosts para mapear dev.example.com para 127.0.0.1 (privilégio de administrador necessário). Se você controlar o servidor DNS (como no caso de Nick), a entrada DNS será suficiente, pois esta etapa não será necessária.
  2. Se você acessar a Internet por meio de proxy, verifique se o dev.example.com não será avisado por proxy (você deve inserir a lista de exceções no seu navegador (para o IE, seria Ferramentas / Opções da Internet / Conexões / Configurações da LAN, vá para Servidor Proxy / Avançado e coloque dev.example.com na lista de exceções.
  3. Configure a ligação do IIS Express para o seu site (por exemplo: Site1) para incluir dev.example.com. Serão necessários privilégios administrativos para usar a ligação. Como alternativa, uma reserva de URL única pode ser feita com http.sys usando

    netsh http add urlacl url=http://dev.example.com:<port>/ user=<user_name>

  4. iniciar iisexpress /site:Site1ou abrir Site1 no WebMatrix

Jaro Dunajsky
fonte
2
Oi Jaro, obrigado pela ajuda, mas 127.0.0.1 está definido no meu DNS, não no arquivo hosts, para que todos os desenvolvedores tenham o mesmo acesso. Segundo, não consigo iniciar a depuração no VS, a menos que a ligação seja definida como "*: 1234: localhost", que é uma configuração totalmente inútil, porque está vinculada a todos os endereços IP da minha máquina, mas aceita apenas cabeçalhos de host "localhost " Por que eles não fizeram "127.0.0.1:1234:" e evitar toda essa porcaria? Os cabeçalhos de host não são necessários desde que o IP e a porta resolvam. E administrar como administrador é uma enorme dor de cabeça para uma grande equipe. Que desastre o IIS Express é.
Nick Berardi
1
Também como referência, Bad Request - Invalid Hostnamesignifica que o nome do host que estou tentando usar não pode ser resolvido porque a equipe do IIS Express, em sua infinita sabedoria, decidiu chamar especificamente "localhost" como o único cabeçalho de host que funcionaria. E VS não vai deixar você executá-lo de outra maneira diferente de "*: 1234: localhost"
Nick Berardi
2
Eu ouço você na questão 127.0.0.1. O "localhost" na ligação é definitivamente um problema, pois não inclui tráfego para 127.0.0.1 . O design é limitado pelo contrato atual de http.sys (manipulador de protocolo http) que reconhece apenas "localhost" para uso não administrativo. O requisito somente de administrador pode ser atenuado pela reserva de URL única com http.sys (atualizará as informações acima). Informe-me sobre o uso exato do Visual Studio (é o VS2010 com SP1 Beta?). Vamos tentar trabalhar um pouco mais e (espero) resolver o problema.
Jaro Dunajsky
nota - se você vir o erro netsh.exe 87, o parâmetro está incorreto - pode ser porque você omitiu um caminho de URI (/) após o nome do host.
Tim Lovell-Smith
19

No meu WebMatrix o IIS Express instalar mudando de "*:80:localhost"que "*:80:custom.hostname"não fez trabalho ( "Bad Hostname", mesmo com adequados etc \ hosts mapeamentos), mas "*:80:" fez o trabalho - e com nenhum dos passos adicionais requeridos pelas outras respostas aqui. Observe que "*:80:*"não fará isso; deixe de fora o segundo asterisco.

rymo
fonte
3
uuuum, "*:80:*"funcionou para mim, mas reiniciei o computador e de repente ele não funcionou até que eu o alterasse "*:80:"e tudo estivesse bem! Obrigado.
CWpearearJul
2
Finalmente!! Também seguiu todas as etapas em outros lugares, e remover o * no final fez com que funcionasse, obrigado!
Charles Philip
Só aqui para dizer que isso funcionou para mim. Tentei a resposta aceita e reverti todas as alterações para o que você disse e tudo funciona muito bem. Estou usando o VS2013 Update4.
JasonWilczak
Isso parece funcionar perfeitamente. Ao usar o VS2017, não tenho certeza do que colocar no URL do projeto para que ele escreva isso no arquivo applicationhost.config? É possível definir através do VS IDE?
Jim Jim
8

Eu estava tentando integrar o endereço IP público ao meu fluxo de trabalho e essas respostas não ajudaram (eu gosto de usar o IDE como o IDE). Mas o exposto acima me levou à solução (depois de duas horas batendo minha cabeça contra uma parede para integrar isso com o Visual Studio 2012 / Windows 8), eis o que acabou funcionando para mim.

applicationhost.config gerado pelo VisualStudio emC:\Users\usr\Documents\IISExpress\config

    <site name="MySite" id="1">
        <application path="/" applicationPool="Clr4IntegratedAppPool">
            <virtualDirectory path="/" physicalPath="C:\Users\usr\Documents\Visual Studio 2012\Projects\MySite" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:8081:localhost" />
            <binding protocol="http" bindingInformation="*:8082:localhost" />
            <binding protocol="http" bindingInformation="*:8083:192.168.2.102" />
        </bindings>
    </site>
  • Defina IISExpress para ser executado de Administratorforma que ele possa se vincular a endereços externos (não ao host local)
  • Execute o Visual Stuio como um Administratorpara que ele possa iniciar o processo como administrador, permitindo que a ligação ocorra.

O resultado líquido é que você pode navegar 192.168.2.102no meu caso e testar (por exemplo, em um emulador do Android. Eu realmente espero que isso ajude outra pessoa, pois esse foi definitivamente um processo irritante para mim.

Aparentemente, é um recurso de segurança que eu adoraria ver desativado.

Daniel B. Chapman
fonte
8

Como Jessa Flint acima , eu não queria editar manualmente .vs \ config \ applicationhost.config porque queria que as alterações persistissem no controle de origem. Eu também não queria ter um arquivo em lotes separado. Estou usando o VS 2015 .

Propriedades do projeto → Criar eventos → Linha de comando do evento de pré-construção: Captura de tela das propriedades do projeto


::The following configures IIS Express to bind to any address at the specified port

::remove binding if it already exists
"%programfiles%\IIS Express\appcmd.exe" set site "MySolution.Web" /-bindings.[protocol='http',bindingInformation='*:1167:'] /apphostconfig:"$(SolutionDir).vs\config\applicationhost.config"

::add the binding
"%programfiles%\IIS Express\appcmd.exe" set site "MySolution.Web" /+bindings.[protocol='http',bindingInformation='*:1167:'] /apphostconfig:"$(SolutionDir).vs\config\applicationhost.config"

Apenas certifique-se de alterar o número da porta para a porta desejada.

Jon
fonte
Uma pequena adição aqui. Crie regras para abrir essa porta no Firewall do Windows. Então funcionou como um encanto!
31516 Peter M
Gostei da sua resposta porque a edição do arquivo .vs \ config \ applicationhost.config não é viável quando vários desenvolvedores executam o IIS Express em suas próprias máquinas. Obrigado!
Colin
6

A resposta votada é válida .. e essas informações me ajudaram bastante. Eu sei que este tópico já foi discutido antes, mas eu gostaria de adicionar mais informações. As pessoas estão dizendo que você deve "editar manualmente" o arquivo application.config no diretório Users IISExpress / Config. Esse foi um grande problema para mim, porque eu queria distribuir a configuração via controle de origem para vários desenvolvedores.

O que eu descobri é que você pode automatizar a atualização desse arquivo usando o programa "C: \ Arquivos de Programas \ IIS Express \ appcmd.exe". Demorou um pouco para descobrir os parâmetros de controle, mas vou compartilhar minhas descobertas aqui. Essencialmente, você pode criar um arquivo .bat que execute o comando NETSH e o APPCMD.EXE (e talvez troque um arquivo host, se desejar) para facilitar a configuração do cabeçalho do host com o IIS Express.

Seu arquivo bat de instalação ficaria assim:

netsh http add urlacl url=http://yourcustomdomain.com:80/ user=everyone 

"C:\Program Files\IIS Express\appcmd.exe" set site "MyApp.Web" /+bindings.[protocol='http',bindingInformation='*:80:yourcustomdomain.com']

Também criarei um arquivo bat "Desinstalar" que limpará essas ligações. (Porque muitas vezes estou apenas falsificando o DNS para que eu possa trabalhar no código que é sensível ao nome do host)

netsh http delete urlacl url=http://yourcustomdomain.com:80/

"C:\Program Files\IIS Express\appcmd.exe" set site "MyApp.Web" /-bindings.[protocol='http',bindingInformation='*:80:yourcustomdomain.com']

Espero que esta informação seja útil para alguém. Levei um pouco para descobrir.

Jesse Flint
fonte
4

Seguindo o conselho de Jaro, consegui fazer isso funcionar no Windows XP e no IIS Express (instalado via Web Matrix) com uma pequena modificação e não estava limitado apenas ao host local. É apenas uma questão de definir as ligações corretamente.

  1. Use o WebMatrix para criar um novo site a partir da pasta na raiz do aplicativo da web.
  2. Feche o WebMatrix.
  3. Abra %USERPROFILE%\My Documents\IISExpress\config\applicationhost.config (Windows XP. Vista e 7 caminhos serão semelhantes) e edite a definição do site no <sites>bloco de configuração, seguindo as seguintes linhas:

    <site name="DevExample" id="997005936">
        <application path="/" applicationPool="Clr2IntegratedAppPool">
            <virtualDirectory
                path="/"
                physicalPath="C:\path\to\application\root" />
        </application>
        <bindings>
            <binding
                protocol="http"
                bindingInformation="*:80:dev.example.com" />
        </bindings>
        <applicationDefaults applicationPool="Clr2IntegratedAppPool" />
    </site>

Se estiver executando o MVC, mantenha o applicationPool definido como uma das opções "Integradas".

Neil Monroe
fonte
3

A solução de David é boa. Mas eu encontrei o <script>alert(document.domain);</script>na página ainda alerta "localhost" porque o URL do projeto ainda é localhost, mesmo que tenha sido substituído por http://dev.example.com. Outro problema que encontro é que ele me alerta que a porta 80 já está em uso, mesmo que eu tenha desativado o Skype usando o número da porta 80, conforme recomendado por David Murdoch. Então, descobri outra solução que é muito mais fácil:

  1. Execute o Bloco de Notas como administrador e abra C: \ Windows \ System32 \ drivers \ etc \ hosts, adicione 127.0.0.1 mydomain e salve o arquivo;
  2. Abra o projeto da web com o Visual Studio 2013 (Nota: também deve ser executado como administrador), clique com o botão direito do mouse no projeto -> Propriedades -> Web, (suponha que o URL do projeto na opção "IIS Express" seja http://localhost:33333/) e altere-o de http://localhost:33333/a http://mydomain:333333/ Nota: Após essa alteração, você deve não clique no botão "Create Virtual Directory" no lado direito da caixa Project Url nem clique no botão Salvar do Visual Studio, pois não será sucedido. Você pode salvar suas configurações após a próxima etapa 3.
  3. Abra% USERPROFILE% \ Meus Documentos \ IISExpress \ config \ applicationhost.config, procure por "33333: localhost", atualize-o para "33333: meudomínio" e salve o arquivo.
  4. Salve sua configuração conforme mencionado na etapa 2.
  5. Clique com o botão direito do mouse em uma página da web no seu visual studio e clique em "Visualizar no navegador". Agora a página será aberta em http://mydomain:333333/, e <script>alert(document.domain);</script>na página alertará "meudomínio".

Nota: O número da porta listado acima é assumido como 33333. Você precisa alterá-lo para o número da porta definido pelo seu visual studio.

Postagem editada: Hoje tentei com outro nome de domínio e obtive o seguinte erro: Não foi possível iniciar o servidor Web IIS Express. Falha ao registrar o URL ... Acesso negado. (0x80070005) . Saio do IIS Express clicando com o botão direito do mouse no ícone do IIS Express no canto direito da barra de tarefas do Windows, reinicio meu visual studio como administrador e o problema desapareceu.

wcb1
fonte
1
Agora, esta é a resposta que deve ser considerada como a solução adequada! Certifique-se de editar o applicationhost.config localizado na .VS / config se você estiver usando o Visual Studio 2015.
Fabio Salvalai
1

Eu tentei tudo acima, nada funcionou. O que resolveu o problema foi adicionar ligações IPv6 no arquivo hosts. No passo 5 da resposta de David Murdochs, adicione duas linhas em vez de uma, ou seja:

127.0.0.1 dev.example.com
::1 dev.example.com

Eu descobri isso verificando $ ping localhostna linha de comando, que costumava retornar:

Reply from 127.0.0.1: bytes=32 time<1ms TTL=128

Em vez disso, agora ele retorna:

Reply from ::1: time<1ms

Não sei por que, mas, por alguma razão, o IIS Express começou a usar o IPv6 em vez do IPv4.

Morten Aslo-Petersen
fonte
0

Deixando isso aqui, caso alguém precise ...

Eu precisava ter domínios personalizados para uma instalação do Wordpress Multisite no IIS Express, mas nada funcionou até executar o Webmatrix / Visual Studio como administrador. Pude ligar subdomínios ao mesmo aplicativo.

<bindings> 
    <binding protocol="http" bindingInformation="*:12345:localhost" />
    <binding protocol="http" bindingInformation="*:12345:whatever.localhost" />
</bindings>

Em seguida, acesse http: //whatever.localhost: 12345 / .

MW247
fonte