Wie kann ich über eine URL auf meine lokalen Weboberflächen zugreifen?

444
Raaabiiin

Ich habe ein Raspberry Pi, auf dem einige Anwendungen ausgeführt werden, für die ich auf eine Webschnittstelle zugreifen muss.

Ich habe mich gefragt, wie ich im Grunde von außerhalb meines Heimnetzwerks über eine benutzerdefinierte Domäne eine Verbindung zu diesen Webschnittstellen herstellen kann.

So möchte ich beispielsweise heywhatsmypidoing.com/webminauf meinen Webmin zugreifen, den ich normalerweise besuchen würde 192.168.0.1:10000.

Ich habe bereits einen Domainnamen, weiß aber nicht, wohin ich als nächstes gehen soll.

0
Sie müssen Ports weiterleiten. Die einfachste Möglichkeit, den Dienst anzusprechen (sobald Sie Port 10000 auf Port 10000 nach außen weitergeleitet haben), lautet http://heywhatsmypidoing.com:10000/webmin. Wenn es sich um den einzigen Dienst handelt, den Sie weiterleiten (Sie haben keinen Webserver), können Sie den Port 80 auf der Außenseite auf 10000 auf der Innenseite abbilden und einfach http://heywhatsmypidoing.com/webmin verwenden. Dies funktioniert jedoch nur, weil Ihr Der Browser sendet alles an Port 80, sofern nicht anders angegeben. Frank Thomas vor 6 Jahren 0
Hier zu SuperUser gab es mehrere Fragen zu diesem Thema. Beginnen Sie mit: https://superuser.com/questions/1112193/why-cant-i-access-my-web-server-from-outside-the-network?rq=1 music2myear vor 6 Jahren 1

1 Antwort auf die Frage

1
Anaksunaman

Sie möchten einen Reverse Proxy . Grundsätzlich würden Sie einen Webserver (auf Ihrem Pi oder anderswo) wie Apache oder Nginx einrichten, um Port 80 (http) zu überwachen, und über spezielle Einträge verfügen, die auf Ihre lokalen Service-IP / -Ports verweisen. In Apache könnte dies ungefähr so ​​aussehen:

<VirtualHost *:80> Server Name heywhatsmypidoing.com # ServerAlias www.heywhatsmypidoing.com DocumentRoot "/www/example1"  # ProxyPreserveHost On ProxyPass /webmin http://192.168.0.1:10000 ProxyPassReverse /webmin http://192.168.0.1:10000  # Other directives here </VirtualHost> 

Unabhängig von der Wahl sollten Sie in der Lage sein, einige Tutorials zu finden, die Ihnen beim Einrichten von Apache oder Nginx in dieser Funktion für das Pi helfen. Ich würde empfehlen, zuerst einen grundlegenden, öffentlich verfügbaren Webserver einzurichten und sicherzustellen, dass er funktioniert, bevor er irgendeine Art von Proxying versucht.

Anmerkungen

  • Die Portweiterleitung kann zwar in Verbindung mit einem Reverse Proxy verwendet werden, sollte jedoch nicht erforderlich sein (mit der möglichen Ausnahme von Port 80).

  • In einigen Fällen müssen Sie möglicherweise mehr als eine URL für dieselbe Anwendung verwenden (z. B. http: // 192.168.0.1:10000 und 192.168.0.1:10000/web ).

  • Hinterstehende Schrägstriche können wichtig sein. Speziell für Apache gilt dies insbesondere für das zweite Argument im obigen Beispiel. Ich weiß nicht, was Webmin benötigt, aber bestimmte Anwendungen benötigen je nach den Umständen http://192.168.0.1:10000 oder http://192.168.0.1:10000/ .