exposer le serveur Web local derrière une adresse IP dynamic

J’ai un simple serveur web lié sur 0.0.0.0:3000 sur ma machine qui fonctionne comme prévu sur les réseaux locaux. Par réseau local, je veux dire que si mon mobile ou tout autre appareil est sur le même réseau, il peut accéder au serveur Web local en accédant à l’adresse IP atsortingbuée à ma machine et en y ajoutant le port 3000. Par exemple, 192.168.1.4:3000 .

Maintenant, je dois l’exposer à Internet, mais pas via une application tierce comme ngrok , localtunnel ou browserSync. Je sais que ces applications fonctionnent parfaitement, mais comme je suis mon propre projet de contrôle des appareils ménagers, je ne veux pas dépendre de la disponibilité des services tiers. Donc, l’état actuel est, je ne peux pas le contrôler via Internet. En gardant à l’esprit que je n’ai pas d’IP statique, cela aurait été plus facile.

J’ai déjà un vps et un nom de domaine qui lui est atsortingbué. Je peux envoyer mon adresse IP actuellement allouée (car elle est dynamic), en utilisant getifaddrs , sur mon serveur et en garder la trace. Mais comment exposer mon serveur local à Internet à travers lui? Ces applications tierces atsortingbuent une sorte de sous-domaine à chaque serveur exposé, et je pourrai également affecter des sous-domaines, mais je n’ai toujours aucun moyen d’exposer le serveur Web local. Toute aide serait appréciée, merci 🙂

Première étape, vous devez exposer votre serveur Web à votre routeur d’access Internet. En règle générale, vous devez configurer le transfert de port pour (dans votre cas) le port 3000. Ceci fait, tout client peut accéder à votre service via (ip dynamic externe actuel): 3000

Deuxième étape, vous devez associer dynamicment un nom DNS fixe à votre adresse IP dynamic actuelle. Il existe bien sûr des services tiers (tels que DynDNS) qui vous aideraient à mapper votre nomfavorit.dyndns.org à cette adresse IP en constante évolution.

Si vous souhaitez effectuer cette opération sans tiers, vous devez disposer d’ un serveur statique (Web) quelque part et procéder comme suit:

Les clients visitent http: //www.yourstaticserver.example/ et ce serveur les redirige vers (ip dynamic actuelle): 3000. Bien sûr, pour que cela se produise, votre serveur statique doit connaître l’IP dynamic et n’a pas besoin de connaître les modifications apscopes. Pour ce faire, votre serveur interne peut contacter le serveur statique à intervalles réguliers (par exemple, une fois par minute), par exemple, accéder à http: //www.yourstaticserver.example/some-secret-special-page et au serveur statique stocke toujours le REMOTE_ADDR d’une telle requête (de préférence avec une autorisation!) pour ses futures redirections.


En fait, il y a une étape zéro avant la première étape: sachez que l’exposition de votre serveur à Internet signifie que vous exposez votre serveur à Internet. J’espère donc que vous avez suffisamment réfléchi à la sécurité.