Weiterleitung:zu localhost:80/dir/ (Apache)

Weiterleitung:zu localhost:80/dir/ (Apache)

Hallo nochmal, StackExchange! Erster Beitrag auf Superuser.

Ich habe Apache und PHP auf meinem Computer installiert und es funktioniert einwandfrei, wenn ich „localhost“ auf meinem Computer eingebe. Aber ich möchte, dass jemand, wenn er etwas eingibt, http://<my ip>:<random port number that isn't used>dorthin weitergeleitet wird http://localhost/internet/. Wie mache ich das mit der Portweiterleitung? Und was muss ich in Apache konfigurieren?

Ich weiß, dass dies möglicherweise die Frage Nr. 87465094 zur Portweiterleitung ist, aber ich habe weder hier bei Superuser noch sonst im Internet Lösungen für mein Problem gefunden.

Das

Antwort1

Erstens vermischen Sie zwei Konzepte zu einer Idee.

  • TCP/IP-Portweiterleitung
  • HTTP-Umleitung

Durch die Kombination beider Konzepte können Sie Ihr gewünschtes Ergebnis erzielen, es handelt sich jedoch um unterschiedliche Konzepte.

HTTP-Umleitung

Ignorieren wir also vorerst die Portweiterleitung. Richten wir zuerst den Umleitungsteil ein.

$ sudo editor /etc/apache2/sites-available/thews_site

Dadurch wird eine neue Konfigurationsdatei für einen neuenWebsiteKonfiguration in Apache. Darin können wir die gesamte Konfiguration für unsere Site platzieren.

Unser VirtualHost

Lassen Sie uns Ihre neue Apache-Site definieren:

NameVirtualHost *:12345
<VirtualHost *:12345>
        Redirect / http://www.superuser.com
</VirtualHost>

Dadurch wird eine neue Site erstellt, die über jede lokale IP-Adresse erreichbar ist, abernuram Hafen 12345.

Die Site-Definition selbst ist ziemlich kurz. Sie hat nur einen Konfigurationseintrag. Die Weiterleitung zur Zielsite.

Apache-Port-Konfiguration

Wir müssen Apache auch anweisen, auf unserem neuen Port zu lauschen!

$ sudo echo "Listen 12345" >> /etc/apache2/ports.conf

Dadurch wird die Zeile Listen 12345am Ende von hinzugefügt /etc/apache2/ports.conf. Alternativ können Sie sie selbst mit einem Texteditor hinzufügen.

Jetzt aktivieren wir die Site

$ sudo a2ensite thews_site
$ sudo invoke-rc.d apache2 restart

Dadurch wird unsere zuvor definierte Site wie folgt festgelegt:ermöglicht. Der zweite Befehl startet Apache neu.

Testen

Wenn Sie http://localhost:12345jetzt Ihren Browser aufrufen, sollten Sie zu weitergeleitet werden superuser.com!

Port-Weiterleitung

Jetzt können Sie diePort-Weiterleitung. Das können Sie auf Ihrem Router tun. Sagen Sie Ihrem Router, dass er Ihren öffentlichen Port 33333an Ihren lokalen Port weiterleiten soll 12345.

Wenn nun jemand surfen würde zuyour-public-ip:33333 Siewerden Sie weitergeleitet zu superuser.com.

Diese Beispiele waren alle für Debian-basierte Umgebungen. Hoffentlich können Sie sie bei Bedarf anpassen.

Viel Glück :)

verwandte Informationen