Como tornar o Apache permitido a partir do localhost por nome de domínio

1

Eu tenho um servidor de redmine em execução no Ubuntu. Eu também hospedo um repositório svn no mesmo servidor.

O diretório virtual svn tem restrições de autorização por usuário, mas eu quero permitir que o aplicativo do redmine possa acessá-lo sem fornecer nome de usuário.

Então, eu coloquei: "Allow from 10.10.10.10", que é o IP externo do servidor, e funciona bem.

Mas eu gostaria de colocar o nome do host real lá, e não o IP externo.

 
# dnsdpmainname
mydomain.com
# hostname
myserver.mydomain.com
# ping myserver
PING myserver.mydomain.com (10.10.10.10) ... works

MAS ..

# ping myserver.mydomain.com
PING myserver.mydomain.com (127.0.1.1) ... also works, but different IP

Eu tentei usar o myserver e o myserver.mydomain.com na diretiva "Allow from", mas nada disso funciona.

Eu acho que o problema está em algum lugar no fato de que myserver e myserver.mydomain.com resolvem para IPs diferentes - um para o IP externo e um de alguns internos.

Alguma ideia de como corrigir isso? Eu preferiria usar um nome de host na diretiva Allow, e não o endereço IP (que, em teoria, pode mudar).

Obrigado

    
por Sunny 22.06.2011 / 22:01

1 resposta

1

127.0.0.1 é o chamado endereço de loopback que cada host possui e que não muda. Geralmente, ele tem o nome do host associado localhost . A única exceção a essa regra é quando você tem o IPv6. Seu endereço de host local definido é ::1 , na maioria das vezes além do endereço IPv4.

Você deve se certificar de que o endereço é, na verdade, 127.0.0.1 e não o que você declarou. Embora isso também funcione, isso criará alguns problemas difíceis de depurar. Dê uma olhada no seu arquivo /etc/hosts , que configura esses mapeamentos. E apenas como uma dica: você nunca deve permitir que nomes reais de servidores apontem para 127.0.0.1 , apenas para IPs externos. Isso torna as coisas mais fáceis de executar e depurar.

Eu pessoalmente tenho o Redmine / ChiliProject normalmente configurado com um host virtual especial ligado ao localhost que fornece o acesso não autenticado. Outra alternativa (provavelmente ainda mais rápida) seria não usar http:// URLs no Redmine, mas usar file:// URLs e pular o servidor web por aqui.

Tendo dito tudo isso, uma vez que você tenha a resolução do seu nome configurada corretamente, você pode declarar nomes na configuração do Apache. Embora exija que a resolução de nome reverso realmente funcione, ou seja, o sistema é capaz de resolver os endereços IP de volta aos nomes. Este é o caso das entradas em '/ etc / hosts' e para configurar corretamente os servidores DNS.

Se você fizer isso, no entanto, você confia implicitamente no sistema DNS para não mentir para você, o que pode não ser o caso. Geralmente, inserir IPs é a escolha mais segura. E com um pouco de documentação isso não deve doer muito. IPs do servidor público não mudam muito:)

    
por 22.06.2011 / 22:12

Tags