Como eu posso redirecionar um subdomínio para localhost + port number?

6

Eu tenho vários aplicativos da web em execução na minha máquina de desenvolvedor. Eles imitam nossos aplicativos da Web de produção hospedados no subdomínio. Por exemplo, considere:

api.myserver.com - is mimicked by 127.0.0.1:8000     
www.myserver.com - is mimicked by 127.0.0.1:8008    
and so on...

Como posso fazer isso para que, no meu computador com Windows 7, chamadas HTTP para "api.myserver.com" (note a falta de número de porta) sejam redirecionadas para 127.0.0.1:8000 etc? Observe que isso precisa se aplicar tanto às chamadas do lado do cliente (no navegador) quanto às chamadas do lado do servidor (do IIS para o servidor de desenvolvimento Python e vice-versa).

Preciso de um proxy para executar localmente para conseguir isso? Você pode recomendar essa ferramenta?

    
por urig 24.06.2011 / 08:43

3 respostas

9

Na verdade, a solução para o seu problema é muito mais simples que a porta tradução.

Como todo o bloco IP 127.x.x.x é roteado para o host local, você pode usar qualquer IP que você quiser neste bloco e vinculá-lo a cada site.

Por exemplo, edite seu arquivo de hosts para vincular:

127.0.0.1    www.site.com
127.0.0.2    api.site.com
127.0.0.3    dev.site.com

Configure cada site para ligar ao seu endereço IP.

Observe que, como você deseja usar outros servidores ao lado do IIS e do IIS tende a acumular todos os IPs disponíveis para a porta 80 você precisa desativar soquete pooling para isso funcionar perfeitamente:

link

    
por 26.06.2011 / 10:52
2

Apache com mod_proxy faz o que você quer. Exemplo:

<VirtualHost 127.0.0.1:80>
    ServerName api.myserver.com
    ProxyRequests On
    ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:8000/
</VirtualHost>

Defina uma definição de VirtualHost como essa para cada subdomínio de que você precisa.

    
por 24.06.2011 / 09:26
2

Você deve configurar seus sites para responder a diferentes cabeçalhos de host em vez de portas diferentes e, em seguida, usar seu arquivo hosts para mapear todos esses nomes para 127.0.0.1; Dessa forma, você poderá simplesmente digitar "www.myserver.com" ou "api.myserver.com" no seu navegador, e o site correto será usado.

    
por 24.06.2011 / 09:03