Ich habe einen CentOS-Server mit Apache 2.2.15. Wenn die IP-Adresse des Servers 198.51.100.4 lautet und ich im Browser http://198.51.100.4 schreibe, wird sie auf meiner Website angezeigt .
Ich möchte das verhindern. Ich möchte, dass meine Website nur über den vollqualifizierten Domänennamen ( http://example.com/) zugänglich ist .
Wie kann ich meinen Server so konfigurieren, dass auf die Website nicht zugegriffen werden kann, wenn ich die IP-Adresse besuche?
apache-2.2
centos
antiks
quelle
quelle
Antworten:
Sie können
Alias *
jeden anderen Verkehr als den in Ihrem virtuellen Host zulässigen abfangen. Dazu müssen Sie an der letzten Position einen virtuellen Host mit einem*
Alias verwenden.Auf diese Weise wird nur eine definierte Domain bedient.
In meinem Beispiel sind nur mywebsite.com und another.mywebsite.com zulässig. Bei allen anderen Domains oder IP-Adressen wird der Verkehr abgebrochen.
Um den Verkehr abzubrechen, können Sie eine Umleitung zu verwenden
-
und dann einen Fehlercode hinzufügen. Beispielsweise habe ich eine RewriteRule verwendet, um zu 406 Not Acceptable (R=406
) umzuleiten .Hier finden Sie die Liste der Weiterleitungscodes: https://fr.wikipedia.org/wiki/Liste_des_codes_HTTP
quelle
Sie können einen virtuellen Standardhost hinzufügen, der nur einen "abgelehnten" Fehler oder was auch immer ausgibt. Wenn dann ein Browser ohne Host in der URL zu Ihrem Webserver gelangt, der mit einem
ServerName
oderServerAlias
mehreren Zeilen in anderen virtuellen Hosts übereinstimmt, wird dieser vom virtuellen Standardhost bereitgestellt.Also in deiner Apache-Konfiguration:
quelle
Sie benötigen eine Umschreiberegel wie folgt:
quelle