J'ai un serveur CentOS exécutant Apache 2.2.15. Si l'adresse IP du serveur est 198.51.100.4 et que j'écris dans le navigateur http://198.51.100.4, elle va sur mon site Web.
Je veux empêcher ça. Je souhaite que mon site Web soit accessible uniquement sur le nom de domaine complet, à savoir http://example.com/ .
Comment puis-je configurer mon serveur pour que le site Web ne soit pas accessible lorsque je visite l'adresse IP?
apache-2.2
centos
antiks
la source
la source
Réponses:
Vous pouvez utiliser
Alias *
pour attraper tout autre trafic que celui autorisé dans votre hôte virtuel, pour cela vous devez utiliser en dernière position un hôte virtuel avec*
comme alias.Comme ça, seul le domaine défini sera servi.
Dans mon exemple, seuls mywebsite.com & another.mywebsite.com seront autorisés, tous les autres domaines ou IP verront le trafic annulé.
Pour annuler le trafic, vous pouvez utiliser une redirection vers
-
puis ajouter un code d'erreur, par exemple j'ai utilisé une RewriteRule pour rediriger vers 406 Not Acceptable (R=406
).Ici vous pouvez trouver la liste des codes de redirection: https://fr.wikipedia.org/wiki/Liste_des_codes_HTTP
la source
Vous pouvez ajouter un hôte virtuel par défaut qui donne simplement une erreur "refusée", ou autre chose. Lorsqu'un navigateur arrive sur votre serveur Web sans hôte dans l'URL qui correspond à une
ServerName
ou plusieursServerAlias
lignes d'autres hôtes virtuels seront servies par l'hôte virtuel par défaut.Donc, dans votre configuration apache:
la source
Vous avez besoin d'une règle de réécriture comme celle-ci:
la source