Pergunta

Até recentemente, eu tinha um monte de sites virtuais configurados como assim:

<VirtualHost 127.0.0.1:1234>
    ...

Isso funciona bem para testar na minha máquina local, onde eu uso uma área de trabalho do Linux. Para testar como o MS e o Explorer exibem minhas páginas do meu laptop do Windows, mudei para

<VirtualHost *:1234>
    ...

Que também funciona bem, chamando o site de http: // [myLinuxServerName]: 1234 no IE do meu laptop. No entanto, quero restringir esse curinga à LAN local. Conectar qualquer IP, como 192.nnn.nnn.nnn ou 192.*.*.*Onde o curinga está acima de 403 proibidos na máquina Windows. O servidor local ainda funciona bem na minha caixa Linux:

<VirtualHost 127.0.0.1:1234 192.*.*.*:1234>
    ...

ou

<VirtualHost 127.0.0.1:1234 192.nnn.nnn.nnn:1234> #exact IP of laptop
    ...

De qualquer forma, não gosto desse curinga no segundo exemplo de configuração acima. Dints alguém?

Foi útil?

Solução

O (s) parâmetro (s) de VirtualHost são os endereços locais que você ouve, não os remotos.

No Apache 2.4 e mais recente, use o Require Diretiva:

Require ip 127.0.0.0/8
Require ip 192.0.0.0/8

Se você estiver usando o Apache 2.2 ou anterior, use o authz_host configuração:

Order Allow,Deny
Allow from 127.0.0.0/8
Allow from 192.168.0.0/16

Isso também pode funcionar no Apache 2.4, mas Order e Allow foram depreciados.

Outras dicas

Apenas uma nota no caso de alguns noobs como eu vêm aqui :)

O servidor HTTP Apache está configurado colocando as diretivas em arquivos de configuração de texto sem formatação. O arquivo de configuração principal é geralmente chamado httpd.conf. Principais arquivos de configuração

Para a versão 2.4

As diretrizes de permitir, negar e ordenar, fornecidas por mod_access_compat, são depreciadas e desaparecerão em uma versão futura. Você deve evitar usá -los e evitar tutoriais desatualizados recomendando seu uso. Controle de acesso

Require ip 127.0.0.0/8
Require ip 192.0.0.0/8

ou (não é exatamente o mesmo)

Require ip 127.0
Require ip 192.168

Use iptables para restringir o acesso à própria máquina. O primeiro comando permitirá que o tráfego HTTP de qualquer rede no intervalo 192 (observe que acho que você precisa de 192.168 para ser realmente local, mas eu poderia errado). O segundo comando simplesmente solta pacotes de outras fontes para a porta 80

iptables -I 1 INPUT -s 192.0.0.0/8 -p tcp --dport 80 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT


iptables -I 2 INPUT -p tcp --dport 80 -m state --state NEW -j DROP 

Então, em seu host virtual, você pode fazer <VirtualHost *:80>

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top