Configurando o IIS para dois aplicativos angulares no domínio e no subdomínio

1

Eu tenho um cenário complicado que não consigo configurar.

Eu preciso de um arquivo web.config para configurar o IIS para servir dois aplicativos angulares. O primeiro será executado em domain.com e o segundo em sub.domain.com

A correção que está funcionando agora é colocar o primeiro aplicativo (domain.com) em wwwroot e o segundo aplicativo (sub.domain.com) em uma pasta dentro do primeiro aplicativo. O web.config:

<?xml version="1.0" encoding="utf-8" ?>
  <configuration>
    <system.webServer>
      <rewrite>
        <rules>

          <rule name="Redirect subdomain" enabled="true">
            <match url="^(.*)$"/>
            <conditions>
                <add input="{HTTP_HOST}" pattern="^sub\.domain\.com$"/>
            </conditions>
            <action type="Rewrite" url="subfolder/{R:1}"/>
          </rule>

        </rules>
      </rewrite>
    </system.webServer>
  </configuration>

O problema é que preciso adicionar algumas regras de regravação de URL, que serão aplicadas somente ao primeiro aplicativo. Se eu adicioná-los ao arquivo web.config, o segundo aplicativo será redirecionado para o primeiro aplicativo devido às regras que adicionei.

Uma solução ideal seria algo assim

wwwroot

  • first_app_v1.1
    • ...
    • web.config (adicione regras de regravação de URL)
  • second_app_v2.1
    • ...
  • web.cofig (se (estamos em sub.dominio.com) {ir para o segundo aplicativo} else {ir para o primeiro aplicativo})

Desta forma, a implantação será mais segura e se eu precisar voltar, faça uma versão diferente, será muito mais fácil. Eu sou novo nessa tecnologia, se houver maneiras melhores de fazer isso, eu apreciaria alguns recursos.

    
por Gabriel 16.09.2015 / 16:19

1 resposta

0

Eu uso o asp.net mvc, não sei se você faz.

Eu iria simplesmente ler qual é o domínio de entrada e, dependendo de qual domínio, renderizar a visualização apropriada configurada em ângulo. Parece mais fácil do que mexer com web.config e reescrita de URL. Obviamente, você serviria os arquivos js apropriados com base no aplicativo view / angular que está renderizando.

A lógica no servidor seria mínima. No IIS, você simplesmente apontaria os dois domínios para a mesma pasta asp.net. Esta solução envolve basicamente a criação de dois SPAs dentro do contexto de um site asp.net.

Eu ficaria feliz em postar o código para fazer isso se você estiver interessado.

    
por 16.09.2015 / 19:33