Question

J'utilise actuellement mon serveur Web local pour permettre aux clients de prévisualiser certaines applications et également pour permettre le téléchargement de " versions nocturnes " de ma bibliothèque open source.

Le problème est que j'ai changé de fournisseur d'accès à Internet et que mon port 80 est maintenant bloqué.

Bien que je sache que je pourrais facilement changer de port sur le serveur Apache, j'aimerais éviter cela sauf s'il n'y a pas d'alternative.

Connaissez-vous un service tiers (gratuit ou payant) permettant de transférer un port sur mon site Web, en le rendant transparent pour toute personne y accédant?

Une autre idée dont j'ai entendu parler consistait à utiliser le mod rewrite de mon hébergeur actuel pour réécrire sur mon domaine, mais je préférerais également ne pas suivre ce chemin. En plus de cela, connaissez-vous des exemples de .htaccess qui fonctionnent réellement? J'ai essayé ceci:

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

Mais cela ne semble pas fonctionner.

Était-ce utile?

La solution

  

Ce que je voudrais, c’est que le client   type    http://myaddress.com/hello/there?a=1&b=2   et cela se traduit en    http://mylocalserver.com:8080/hello/there?a=1& b = 2   et de nouveau au client sur un   manière transparente.

Je pense que c'est l'Apache RewriteRule que vous recherchez pour rediriger les URL:

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

À partir de ce moment, le client naviguera dans mylocalserver.com:8080 . C'est ce qu'il verra dans la barre d'adresse. Si ce que vous entendez par "et retour" est-ce qu'ils pensent toujours qu'ils naviguent dans myaddress.com , alors vous parlez d'un serveur proxy de réécriture.

J'entends par là que vous devez réécrire toutes les URL non seulement dans les en-têtes HTTP, mais également dans votre contenu HTML (c.-à-d. effectuer une recherche / remplacement regex sur le HTML), puis décoder, réécrire et renvoyer tous les messages GET, POST. , PUT données, aussi. J'ai déjà écrit une telle procuration, et laissez-moi vous dire que ce n'est pas un exercice trivial, même si le principe peut sembler simple.

Je dirais, soyez heureux si vous pouvez obtenir la redirection au travail et les laisser parcourir mylocalserver.com:8080 à partir de là.

Autres conseils

"et de nouveau au client sur une base transparente" .... sera pris en charge par NAT, cela ne devrait donc pas poser de problème.

Pour gérer la traduction de la requête d'une chaîne à une autre, c'est un problème, car vous devez transformer la requête avant qu'elle ne frappe le serveur. Rechercher dans un type de service de transfert d'URL

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

Vous pouvez également configurer un site distinct sur un serveur fournisseur et le transférer aux demandes à l'adresse / au lien spécifique sur votre serveur.

J'espère que ça aide!

Lorsque le port 80 est bloqué, le routage via Dynamic Service ne vous aidera pas, sauf si le client spécifie le nouveau port du domaine.

Demandez à votre routeur local " de transférer le port " le trafic d'un nouveau port (par exemple 8080) vers le port 80. Laissez tout de même de votre côté.

Créez un compte avec DynDNS.org et configurez votre service dynamique. Demandez ensuite à votre client de http://mydomain.com:8080

Cela devrait faire l'affaire

Examinez toujours la suggestion de Rolf car ils ne sont pas vraiment des FAI, .... sérieusement.

Merci

Si vous ne pouvez pas demander à votre fournisseur de services Internet de vous ouvrir le port 80 et si vous ne pouvez pas changer de fournisseur de services Internet, utilisez la directive de redirection htacccess:

Redirect 301 / http://votre Serveur.com:8000/

Les utilisateurs peuvent remarquer la redirection, mais ne s'en soucient probablement pas.

Bien, même si j’ai apprécié les réponses, je n’étais pas assez satisfait du résultat final. Je voulais que les modifications apportées à mon fournisseur d'accès soient transparentes pour mes clients et je pense que j'ai réussi à les faire fonctionner.

Voici ce que j'ai fait:

J'ai engagé un serveur VPS bon marché - VPSLink - et choisi son plan le moins cher: 64 Mo de RAM, 2 Go et 1 Go trafic mensuel. Après une réduction de vie de 10%, ce n’était que 7,16 USD par mois, ce qui est assez abordable pour le travail et vous obtenez un serveur Sandbox VPS en prime. L'hébergement semble jusqu'ici tout va bien - pas de problèmes. Si vous voulez tenter votre chance, vous pouvez vous inscrire à partir de son site, indiqué ci-dessus, ou via un code de parrainage. Il y en a beaucoup sur Internet, il suffit de chercher. Aussi, je peux facilement en créer un pour vous si vous le souhaitez, laissez un commentaire sur cette réponse: vous obtiendrez 10% de réduction et moi-même un mois gratuit. Je ne publierai pas directement le message ici, car il peut sembler que telle était l'intention de ce message - ce qui n'était pas le cas.

Ce compte n'est pas géré, mais il fournit un accès root. J'ai ensuite configuré apache pour qu'il agisse en tant que proxy pour les demandes du port 80, en les transmettant de manière transparente à mon site Web local sur le port 8081.

Vous trouverez ci-dessous des extraits de fichiers de configuration httpd.conf de mon Apache.

Configuration du serveur VPS:

<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>

Cela crée une demande du type http://subdomain1.mydomain.com/script?a=b. à transférer de manière transparente côté serveur vers http: // mylocalserverdns. mydomain.com:8081/subdomain1/script?a=b , afin que je puisse faire tout ce que je veux à partir de là.

Sur mon serveur local, j'ai fait la même chose pour distribuer le gestionnaire de mes sous-domaines. J'ai, par exemple, deux applications serveur Java qui s'exécutent localement sur les ports 8088 et 8089. Tout ce que je devais faire était un autre transfert de proxy, maintenant en interne

Configuration du serveur local:

<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>

J'espère que cela en vaut la peine si quelqu'un d'autre recherche la même alternative.

Je pense que la plupart des services DynamicDNS permettent le transfert de port.

Demandez à votre FAI pourquoi, et si vous n'obtenez pas de réponse, changez de nouveau de fournisseur d'accès.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top