Preciso testar subdomínios no meu host local. Como posso efetivamente obter esse resultado da adição *.localhost.com
ao meu /etc/hosts/
arquivo?
Se não for possível, como faço para solucionar esse problema? Preciso testar subdomínios curinga no meu servidor local. É um servidor de desenvolvimento Django. O servidor de desenvolvimento Django pode lidar com os subdomínios? Outro software / roteamento pode me dar o resultado final que eu quero?
Respostas:
Eu escrevi um proxy DNS em Python. Ele lerá entradas curinga em / etc / hosts. Veja aqui: https://github.com/hubdotcom/marlon-tools/blob/master/tools/dnsproxy/dnsproxy.py
fonte
pip install
ele :)Instale o dnsmasq (eu faço isso em todos os meus desktops Linux como um cache DNS). Em
dnsmasq.conf
adicionar a linha:fonte
sudo port install dnsmasq
2. edit/opt/local/etc/dnsmasq.conf
3.sudo port load dnsmasq
192.168.50.11
mas o DNS não está resolvendo. Alguma idéia, este exemplo está correto para IP "non-127.0.0.1"?/etc/NetworkManager/dnsmasq.d/dnsmasq-localhost.conf
e coloque a linhaaddress=/localhost.com/127.0.0.1
nele, depois reinicie.Não é possível especificar caracteres curinga no
/etc/hosts
arquivo. Especifique os nomes de host necessários explicitamente ou, alternativamente, configure um servidor de nomes local com as regras apropriadas.fonte
Você precisa configurar um servidor DNS e ter cada cliente usá-lo para resolução. O próprio servidor pode ser algo "leve" como dnsmasq ou pesado como BIND .
fonte
--address=
seção da página do manual dnsmasq.conf não cobre o caso de uso descrito acima?Fluxo de trabalho simples (não é necessário instalar nada)
Pessoalmente, gosto de criar um arquivo PAC para isso e fazer com que meu navegador apenas o use.
Etapa 1: criar um arquivo, por exemplo:
*.proxy.pac*
algures (eu uso minha$home
pasta)Etapa 2: cole este código (o exemplo está na porta 8000):
Etapa 3 : faça seu navegador usar esse arquivo PAC.
Vídeo do YouTube para PAC e Firefox
Etapa 4 : agora você pode testar seu aplicativo acessando:
http://mysubdomain.localhost/
Etapa 5: aproveite :)
fonte
wget
, não serão afetados por isso). Isso não é, por si só, um problema, mas talvez seja melhor mencionar isso.req.url
agora é uma URL absoluta. Isso é feito porque a suposição é que você deseja gravar um servidor proxy real, mas é surpreendente que você tenha usado essa técnica apenas como uma maneira de parar de adicionar entradas / etc / hosts para depuração. FYI para aqueles que podem seguir o mesmo caminho que eu.Eu arrumei um projeto antigo meu:
https://github.com/airtonix/avahi-aliases
requisitos:
Vantagens sobre o uso do dnsmasq ou do proxy python dns:
fonte
Esta solução baseada em DNS funcionou perfeitamente no meu caso, sem a necessidade de instalar nada: https://gist.github.com/fedir/04e60d679d5657d1f9f9aa10b3168282 (Mac OSX 10.9)
fonte
Você não pode usar um curinga no
/etc/hosts
.Veja aqui uma boa explicação sobre como realizar o OS X usando o BIND, o servidor DNS interno mas inativo, e o Apache.
fonte
Se você quiser usar
dnsmasq
comNetworkManager
você pode (ou deve mesmo?) Começamdnsmasq
a partirNetworkManager
adicionandopara
/etc/NetworkManager/NetworkManager.conf
. Então a configuração do dnsmasq vai para/etc/NetworkManager/dnsmasq.conf
ou/etc/NetworkManager/dnsmasq.d/
resp.fonte
Resposta curta:
Seu arquivo / etc / hosts / não permitirá que você use curingas ou números de porta. Você precisará criar uma entrada para cada um de seu subdomínio
fonte
A resposta curta é que você não. A resposta mais longa é que você precisa ser mais claro sobre o que realmente deseja alcançar, porque talvez haja uma maneira melhor e uma maneira diferente de alcançá-la.
A hospedagem na web (nunca vi usada de outra forma) é feita no DNS em combinação com um servidor web com reconhecimento de hospedagem virtual. Para obter mais informações sobre registros DNS de caracteres curinga (Wikipedia), e um artigo Hospedagem de caracteres curinga com Apache e Bind for Linux usando bind e Apache.
Na pior das hipóteses, você poderia usar um servidor DNS local, suponho.
fonte
Uma tarefa comum para esse assunto é mapear diretórios para subdomínios. Uma maneira bem simples de fazer isso é anexar automaticamente as entradas baseadas em diretório no arquivo hosts:
fonte
Obrigado tschundeee pelo que considero ser a resposta definitiva para esse problema, gostaria de poder comentar, mas aqui está a configuração total para aqueles que tentam atingir o objetivo original (curingas todos apontando para a mesma base de código - não instale nada, ambiente de desenvolvimento ou seja, , XAMPP)
arquivo hosts (adicione uma entrada)
arquivo: / etc / hosts (não Windows)
configuração httpd.conf (ativar vhosts)
arquivo: /XAMPP/etc/httpd.conf
Configuração httpd-vhosts.conf
arquivo: XAMPP / etc / extra / httpd-vhosts.conf
reinicie o apache
crie um arquivo pac:
salve como o que quiser.pac onde quiser e carregue o arquivo na rede do navegador> proxy> configurações de configuração automática (recarregue se você alterar isso)
fonte
O dnsmasq funcionou para mim, exceto que eu tive que fazer algumas etapas adicionais.
Aqui está o procedimento completo:
Anexar
/etc/resolv.conf
com a seguinte linhaAdicione as seguintes linhas ao
/etc/dnsmasq.conf
Reinicie o dnsmasq
fonte