Interferências na Configuração do DNS Local e do Servidor Apache - example.com / www.example.com

1

Eu tenho um domínio para o meu site:

example.com

Também estou executando o DNS local com estas linhas:

www IN CNAME server.<host_provider>.com.
dev IN CNAME server.<host_provider>.com.

Portanto, www.example.com e dev.example.com vão para sites de produção e desenvolvimento, respectivamente, hospedados por uma empresa anfitriã.

Na minha configuração do Apache para o site principal, estou executando uma regra de reescrita como esta:

RewriteEngine ON
RewriteCond %{HTTP_HOST} ^example\.com$|!dev\.example\.com$ [NC]
RewriteRule ^(.*)$ http://www\.%{HTTP_HOST}/$1 [R=302,L,NE]

Esta regra parece funcionar, pois quando você está fora da rede e acessa example.com no navegador, você é redirecionado para www.example.com .

O problema é quando estou na rede e vou para example.com . Recebo uma página de erro, dizendo que a página não pode ser encontrada. Nenhum erro do servidor; apenas uma página não pode ser encontrada, como se o DNS local estivesse fazendo com que parasse de procurar naquele ponto.

Também estou usando o Nettica para serviço DNS e tenho esse registro A:

example.com Host (A) Default xxx.xx.xxx.xx

Isso lida com o DNS externo, mas meu problema parece estar relacionado ao meu DNS interno.

Por exemplo, dentro da minha rede, posso ir para servidores na rede com endereços como este:

server.example.com %código% server1.example.com

Estes são configurados no meu DNS local. Só não sei como passar pelo subdomínio "vazio" e ir para server2.example.com .

Além disso, pode não estar claro. Se eu estiver do lado de fora da rede example.com , em outra rede, como example.com , quando eu for para example123.com , sou redirecionado para example.com como esperado, por exemplo, a regra de reescrita do Apache está funcionando. / p>

EDITAR

Com a ajuda de @ErikE, solucionando problemas e testando, encontrei uma resposta. Parece que descobri outra maneira, juntamente com a sugestão do @ ErikE:

No DNS local, adicionar um desses parece funcionar:

example.com IN CNAME server.<host_provider>.com.
example.com IN CNAME www.example.com.

Obrigado.

    
por nicorellius 05.11.2013 / 21:43

1 resposta

1

Parece-me que você precisa de um registro A vazio (ou outro registro com o mesmo efeito) para o domínio example.com em si no DNS local.

Se bem me lembro (algum tempo se passou desde a última vez que fiz isso), no BIND isso pode ser feito usando a seguinte sintaxe no arquivo de zona de example.com:

A    1.2.3.4

ou no DNS do Windows:

@    IN A    1.2.3.4

No entanto, usando o dnsmasq, por exemplo, isso seria configurado de uma maneira completamente diferente. Então, qual marca do servidor dns você está usando localmente?

Não tenho certeza se alguém pode gravar registros CNAME da mesma maneira. Você poderia certamente tentar se você deseja se referir ao seu provedor em vez de escrever os endereços IP explicitamente em seu DNS local.

    
por 05.11.2013 / 22:46