Frage

ich zur Zeit meine lokalen Web-Server verwenden, um Kunden zu erlauben einige Anwendungen in der Vorschau anzeigen und auch den Download von „Nightly Builds“ meiner Open-Source-Bibliothek zu ermöglichen.

Das Problem ist, ich meinen ISP geändert und jetzt ist mein Port 80 blockiert.

Altough Ich weiß, dass ich einfach den Port auf dem Server Apache ändern könnte, ich möchte vermeiden, dass es sei denn, es gibt keine Alternative.

Sie wissen Dritten Service (kostenlos oder kostenpflichtig), die eine Portweiterleitung auf meiner Webseite tun würde, es transparent zu jemand macht es den Zugriff auf?

Eine andere Idee, die ich davon gehört wurde mit mod Rewrite von meinem aktuellen Webhost meiner Domain neu zu schreiben, aber ich würde es vorziehen, auch diesen Weg nicht gehen. Abgesehen davon, wissen Sie .htaccess Beispiele, die wirklich funktionieren? Ich habe dies versucht:

RewriteEngine on
RewriteRule ^/(.*) http://www.example.com:8080/$1

Aber es scheint nicht zu funktionieren.

War es hilfreich?

Lösung

  

Was ich möchte, ist für die Kunden zu   Art    http://myaddress.com/hello/there?a=1&b=2   und es lassen übersetzt    http://mylocalserver.com:8080/hello/there?a=1&b= 2   und wieder zurück an den Kunden auf einem   transparente Art und Weise.

Ich glaube, das die Apache RewriteRule ist für Sie suchen eine beliebige URL umleiten:

RewriteRule ^(.*)$ http://mylocalserver.com:8080$1 [R]

Von nun an den Kunden werden mylocalserver.com:8080 Surfen und das ist, was sie in der Adressleiste sehen werden. Wenn das, was meinen Sie mit „und wieder zurück“ ist, dass sie immer noch denken, myaddress.com sie surfen, dann, was Sie sprechen, ist ein Umschreiben Proxy-Server.

Damit meine ich Sie alle URLs neu schreiben würde nicht nur in HTTP-Header, sondern in Ihren HTML-Inhalt als auch (dh tun, um eine Regex Suchen / Ersetzen auf dem HTML), und zu entschlüsseln, neu zu schreiben und senden alle GET, POST , PUT Daten auch. Ich schrieb einmal einen solchen Proxy, und lassen Sie mich Ihnen sagen, es ist keine triviale Übung, obwohl das Prinzip mag einfach erscheinen.

Ich würde sagen, einfach nur glücklich sein, wenn Sie die Umleitung bekommen sie mylocalserver.com:8080 von diesem Zeitpunkt an sehen, zu arbeiten und lassen.

Andere Tipps

„und wieder zurück an den Kunden auf transparente Art und Weise“ .... wird durch NAT gesorgt werden, so dass kein Problem sein sollte.

Um die Anforderung Übersetzung von einer Zeichenfolge zu einem anderen Griff, auch das ist ein Problem, da Sie die Anforderung zu transformieren müssen, bevor sie den Server treffen. Schauen Sie in irgendeine Art von URL-Weiterleitungsdienst

http://www.dnsexit.com/Direct.sv?cmd=webforward

Sie können auch Setup eine separate Website auf einem Provider-Server und haben es nach vorne fordert auf die spezifische Adresse / Link auf Ihrem Server.

Hope, das hilft!

Mit Port 80 blockiert wird, Routing durch dynamische Service-win't Hilfe, es sei denn, der Kunde gibt den neuen Port in der Domäne.

Haben Sie Ihren lokalen Router „Port-forward“ Datenverkehr von einem neu Port (etwa 8080) auf Port 80 alles Lassen Sie das gleiche auf Ihrer Seite.

Erstellen Sie ein Konto bei DynDNS.org und richten Sie Ihren dynamischen Service. Dann wird Ihr Client tun http://mydomain.com:8080

Das sollte den Trick

Still Blick in Rolf Vorschlag, da sie nicht wirklich ISP sind, .... ernst.

Danke

Wenn Sie Ihren ISP-Port zu öffnen, bekommen 80 für Sie, und Sie können nicht ISPs wechseln, verwenden Sie dann die htacccess Redirect Direktive:

Redirect 301 / http://yourserver.com:8000/

Die Benutzer können die Umleitung bemerken, aber sie werden wahrscheinlich nicht.

Nun, auch wenn ich die Antworten geschätzt, ich war nicht ganz zufrieden mit dem Endergebnis. Ich wollte meine ISP Änderungen an meinen Kunden transparent sein und ich denke, dass ich es geschaffen arbeiten.

Hier ist, was ich getan habe:

Ich mietete einen billigen VPS-Server - VPSLink - und wählte seinen günstigste Plan: 64 MB RAM, 2 GB HD und 1Gb monatliche Traffic. Nach einem Leben 10% Rabatt war es nur 7,16 US $ pro Monat, recht erschwinglich für den Job und Sie einen Sandbox VPS-Server als Bonus bekommen. Das Hosting scheint so weit, so gut - keine Probleme. Wenn Sie wollen, um ihm einen Schuss, können Sie entweder die Registrierung von seiner Website, über oder durch einen Empfehlungscode angezeigt. Es gibt eine Menge im Internet zur Verfügung, man muss nur suchen. Außerdem kann ich ein Sie einfach erstellen für, wenn Sie wollen, lassen Sie einen Kommentar zu dieser Antwort: Sie werden 10% Rabatt bekommen und ich einen Monat frei. Ich werde direkt hier nicht veröffentlichen, weil es scheinen mag, dass die Absicht hinter diesem Post war - was nicht war.

Dieses Konto ist nicht verwaltet, sondern es bietet Root-Zugriff. Ich habe dann Apache konfigurierte als Proxy zu meinen Port 80 Anfragen zu handeln, transparent, sie zu meiner lokalen Website auf Port 8081 weitergeleitet werden.

Im Folgenden sind einige Schnipsel meiner Apache httpd.conf Konfigurationsdateien.

VPS-Server-Konfiguration:

<VirtualHost *:80>
    ServerName mydomain.com
    ServerAlias www.mydomain.com *.mydomain.com
    RewriteEngine On
    RewriteCond %{HTTP_HOST} (.*)\.mydomain\.com [NC]
    RewriteRule (.*) http://mylocalserverdns.mydomain.com:8081/%1$1 [P]
</VirtualHost>

Dies macht Anfrage wie http://subdomain1.mydomain.com/script?a=b transparent auf Server-Seite weitergeleitet werden, um http: // mylocalserverdns. mydomain.com:8081/subdomain1/script?a=b , so kann ich tun, was ich von dort aus will.

Auf meinem lokalen Server, habe ich die gleiche Sache zu meinen Subdomains Handler zu verteilen. Ich habe zum Beispiel zwei Java-Server-Anwendungen, die lokal auf den Ports 8088 und 8089 läuft. Alles, was ich war vorne ein anderer Proxy zu tun hatte, jetzt intern

Local Server-Konfiguration:

<VirtualHost *:8081>
    ServerName mylocalserverdns.mydomain.com

    ProxyPass /app1 http://127.0.0.1:8088
    ProxyPassReverse /app1 http://127.0.0.1:8088
    ProxyPassReverse /app1 http://mylocalserverdns.mydomain.com:8088/app1

    ProxyPass /app2 http://127.0.0.1:8089
    ProxyPassReverse /app2 http://127.0.0.1:8089
    ProxyPassReverse /app2 http://mylocalserverdns.mydomain.com:8089/app2
</VirtualHost>

Hope dies wert ist, wenn jemand anderes für die gleiche Alternative suchen.

Ich denke, die meisten DynamicDNS Dienste Port-Forwarding ermöglichen.

Fragen Sie Ihren ISP, warum dies ist, und wenn Sie nicht eine Antwort bekommen, wechseln ISPs wieder.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top