Erlauben Sie den Zugriff auf den Nginx-Server nur, wenn Sie den vollständigen Domänennamen und nicht die IP verwenden.

Erlauben Sie den Zugriff auf den Nginx-Server nur, wenn Sie den vollständigen Domänennamen und nicht die IP verwenden.

Ich habe einen Nginx-Server, derhttp://example.comdie in die IP aufgelöst wird 1.2.3.4. Im Moment können Benutzer eine Verbindung herstellen, indem sie entweder zuhttp://example.comoder besuchen Siehttp://1.2.3.4.

Ich möchte den Zugriff nur bei Angabe des vollständigen Domänennamens erlauben,http://beispiel.com. Wie kann ich mein Nginx so konfigurieren, dass der Zugriff über die IP blockiert und nur bei Verwendung des vollständigen Domänennamens erlaubt wird?

Antwort1

Sie können in Nginx zwei virtuelle Hosts erstellen. Einen für den Standardzugriff und einen für domänenspezifische Zugriffe.

Anschließend können Sie den Zugriff auf den Standardzugriff beschränken oder nach Wunsch auf Ihre Domäne umleiten.

server {
    listen      80 default_server;
    listen      [::]:80 default_server;
    server_name "";
    return      444;  # or comment this and uncomment below to redirect to domain.
    #return 301 http://www.example.com$request_uri;
}
server {
    listen      80 default_server;
    listen      [::]:80 default_server;
    server_name "www.example.com";
    ...
    ...
}

Virtuelle Hosts für Nginx -https://tecadmin.net/setup-nginx-virtual-hosts-on-ubuntu/

verwandte Informationen