Erlaube nur Zugriffe über Domain, IPs blockieren?
Hallo,
wie kann ich in Apache2 mit VHost machen das alle Zugriffe meiner Domain + Subdomain ganz normal bearbeitet werden [mit den entsprechenden .conf dateien, bspw sub1.domain.tld.conf, sub1.domain.tld.conf] aber alle zugriffe die nur mit einer ip stattfinden, egal welcher, sollen mit einem Errortext blockiert werden.
Wie bewerkstellige ich das?
2 Antworten
Eine Domain ist ja letztlich nur ein Alias für eine IP-Adresse. Der Aufbau findet ja immer über IP-Adressen statt. Die Domain ist dafür da, dass man sich diese weder merken muss, noch darauf achten muss, ob sich diese verändert.
Das einzige, was du wirklich machen kannst, ist die Domain mit einem SSL-Zertifikat versehen (was man eh machen sollte! bspw über Lets Encrypt) und dann allen HTTP / Port 80 Traffic auf HTTPS / Port 443 umlenken. Dann gibt es einen Fehler beim Browser, dass der Zugriff unsicher ist, wenn man über die IP-Adresse ansteuert. Denn IP-Adressen erhalten kein SSL-Zertifikat.
Diesen Fehler kann man wegklicken, aber fürs erste wird einer angezeigt.
Was erhoffst du dir denn davon, das zu blockieren?
Jain. Per HTTP-Header ist auch die URL mitgegeben und dementsprechend kann - je nach Anfrage - anderer Content über die gleiche IP geliefert werden
Und genau davon will ich gebrauch machen. Das wenn eine IP mitgeben wird wird die Anfrage bearbeitet, wenn nicht dann wird sie blockiert.
aber alle zugriffe die nur mit einer ip stattfinden, egal welcher, sollen mit einem Errortext blockiert werden.
Für deine Subdomains erstellst du entsprechende VHosts, die eben auf die Subdomains hören:
https://httpd.apache.org/docs/trunk/vhosts/examples.html#purename
Für alle anderen Anfragen kannst du default nutzen
https://httpd.apache.org/docs/trunk/vhosts/examples.html#default
Jain. Per HTTP-Header ist auch die URL mitgegeben und dementsprechend kann - je nach Anfrage - anderer Content über die gleiche IP geliefert werden