Wie kann ich ein Control Panel nur von einer Subdomäne und einem Port aus zugänglich machen?

Wie kann ich ein Control Panel nur von einer Subdomäne und einem Port aus zugänglich machen?

Derzeit habe ich in meiner Konfiguration eine Domäne eingerichtet, example.comum eine Verbindung zu einer Website herzustellen. Dann muss ich mich control.example.commit einem Control Panel über den Port 2054 verbinden. Um auf das Control Panel zuzugreifen, müsste es also sein ; aus irgendeinem Grund kann ich jedoch auch auf das Control Panel zugreifen, indem ich ohne die Subdomäne https://control.example.com:2054zu gehe .https://example.com:2054

Gibt es eine Möglichkeit, dies zu verhindern und nurhttps://control.example.com:2054/und verhindert gleichzeitighttps://example.com:2054/vom Zugriff abhalten?

Antwort1

Gibt es eine Möglichkeit, dies zu verhindern und nurhttps://control.example.com:2054/und verhindert gleichzeitighttps://example.com:2054/vom Zugriff abhalten?

Ja. Der einfachste Weg ist wahrscheinlich die Verwendung von Nginx alsReverseproxy. Eine grundlegende Übersicht über die Verwendung von Nginx in dieser Funktion finden SieHier.

Kurz gesagt, Sie möchten zwei Serverblöcke ähnlich den folgenden einrichten:

# Block access to example.com:2054, assuming Nginx is servicing that port.
#
server {
    listen       2054;
    server_name  example.com;

    # 404 - Not Found is returned, but 403 - Forbidden is another option
    location / {
        return 404;
    }
}

# another (unblocked) virtual host on the same port e.g. control.example.com:2054
#
server {
    listen       2054;
    server_name  control.example.com;

    # Proxy our web data
    location / {
    proxy_pass      http://10.0.0.10:3005;
    }
}

In diesem Beispiel wird davon ausgegangen, dass zwei verschiedene Ports verwendet werden, da diese Konfiguration einfach zu handhaben ist. Der Port, über den Sie öffentlich auf den Dienst zugreifen möchten, sollte weitergeleitet werden, der interne (tatsächliche) Dienstport nicht. Die proxy_passIP sollte (natürlich) die IP des PCs sein, auf dem der Dienst ausgeführt wird, auf den Sie zugreifen möchten.

Falls die obige Lösung nicht für Sie geeignet ist, beachten Sie, dass Sie möglicherweise etwas tun können mitiptableso.ä.

verwandte Informationen