Sub-domínio não correspondido do Apache sendo capturado por um domínio aleatório

0

Olá, como diz o título, por algum motivo, meu apache está capturando todos os subdomínios aleatórios para um domínio específico e não consigo descobrir por quê.

Eu tenho alguns sub-domínios no momento, bgp.example.com login.example.com www.example.com, mas se eu digitar letras aleatórias: akegmeakgmaekm.example.com, ele sempre parece voltar ao bgp.example .com mesmo que em meus arquivos de configuração eu tenha um arquivo 000-default que serve uma página de erro.

Se você disser ekmgakmgkem.google.co.uk, ele exibirá instantaneamente um erro "esta página não pode ser encontrada" ou algo semelhante, se o seu isp configurá-lo dessa maneira.

bgp.example.com é na verdade um painel de controle e eu não quero que qualquer subdomínio digitado aleatoriamente acabe lá e eu gostaria que o apache fosse apenas para 404 ou algo similar ao google.

Obrigado antecipadamente.

    
por FortuneCookie101 17.04.2014 / 13:12

1 resposta

1

O Apache usa o seguinte processo para encontrar o host virtual de melhor correspondência:

  1. Encontre uma lista de hosts virtuais que correspondem ao IP e à porta, use curinga se nenhum for encontrado. No seu caso, um curinga é definido no host virtual padrão.
  2. Descobrir se vamos usar hosts virtuais baseados em IP ou baseados em nome. Se apenas uma opção de IP e porta corresponder, o baseado em IP será usado e esse vhost será selecionado.
  3. Se a correspondência baseada em IP não puder ser usada (porque há mais de um vhost nesse IP e porta), obtenha a lista de candidatos do vhost (por IP e porta) e tente corresponder as diretivas ServerName e ServerAlias com o Cabeçalho de solicitação HTTP do host.
  4. Se não for possível encontrar a melhor correspondência em 3, use como padrão o primeiro vhost encontrado nesse IP e na porta.
  5. Se nenhuma correspondência de IP e porta foi encontrada, tente corresponder a um vhost curinga, como 000-default.

Com base em seus sintomas, eu suponho que você esteja usando hosts virtuais baseados em nome, e o Apache nunca está indo para a etapa 5 porque usa a melhor correspondência baseada em IP na etapa 4. Você deve conseguir corrigir isso definindo um NameVirtualHost explícito com IP: Port em 000-default e um nome de servidor que aparece primeiro em ordem alfabética.

Você pode encontrar mais detalhes sobre o processo de seleção de vhost do Apache aqui .

    
por jkt123 17.04.2014 / 13:52