Eu tenho um servidor CentOS executando o Apache 2.2.15. Se o endereço IP do servidor for 198.51.100.4 e eu escrever no navegador http://198.51.100.4, ele será exibido no meu site.
Eu quero evitar isso. Quero que meu site seja acessível apenas no FQDN, por exemplo, http://example.com/ .
Como posso configurar meu servidor para que o site não fique acessível quando visito o endereço IP?
apache-2.2
centos
antiks
fonte
fonte
Respostas:
Você pode usar
Alias *
para capturar qualquer outro tráfego que não seja o permitido no seu host virtual; para isso, você deve usar na última posição um host virtual com*
o apelido.Assim, apenas o domínio definido será exibido.
No meu exemplo, apenas mywebsite.com e another.mywebsite.com serão permitidos, todos os outros domínios ou IP terão o tráfego cancelado.
Para cancelar o tráfego, você pode usar um redirecionamento para
-
e, em seguida, adicionar um código de erro, por exemplo, usei um RewriteRule para redirecionar para 406 Not Acceptable (R=406
).Aqui você pode encontrar a lista de códigos de redirecionamento: https://fr.wikipedia.org/wiki/Liste_des_codes_HTTP
fonte
Você pode adicionar um host virtual padrão que apenas fornece um erro "negado" ou qualquer outra coisa. Quando um navegador chega ao seu servidor da Web sem um host no URL que corresponda a qualquer linha
ServerName
ouServerAlias
em outros hosts virtuais, o servidor virtual padrão será atendido.Então, na sua configuração do apache:
fonte
Você precisa de uma regra de reescrita como esta:
fonte