Comment rendre public mon serveur Web Raspberry Pi?

8

J'ai donc finalement mis en place un serveur Web, sauf qu'il n'est disponible que pour mon réseau local, et j'aimerais le rendre public. J'ai un D-Link DIR-615 comme routeur, l'adresse IP de mon Pi est 192.168.0.14 et mes informations IP publiques ressemblent à ceci:

IP Information: xx.xx.xx.xx
ISP:    Xplornet Communications
Organization:   Xplornet Communications
Connection: Broadband
Services:   None Detected
City:   Sherwood Park
Region: Alberta
Country:    Canada

Tout sonne bien sauf que je ne vis pas à Sherwood Park, je suis à environ 2 heures de route.

Que dois-je faire pour rendre mon serveur public?

Mon routeur prend en charge la redirection de port, le serveur virtuel et la DMZ. J'utilise un serveur HTTP Apache.

Merci, mais cela ne résout toujours pas mon problème; Je veux juste me connecter de l'extérieur peut-être une fois, puis je trouverai DDNS et autres, mais pour l'instant, il ne se connectera à rien lorsque je tape mon adresse IP Xplornet.

Jim Jones
la source

Réponses:

13

Transférez le port 80 de votre routeur vers votre Pi, et si vous souhaitez SSH de l'extérieur, le port 22 également. Sachez qu'avec SSH de l'extérieur, quiconque peut entrer peut alors ssh ou accéder aux autres appareils de votre réseau.

Une fois que vous êtes configuré, si votre IP reste à peu près la même, vous pouvez utiliser quelque chose comme Cloudflare pour pointer un domaine vers lui. Si cela change quotidiennement, vous aurez besoin d'un service comme DynDNS.

George Pearce
la source
K, donc j'ai configuré mon routeur pour transférer le port 80 au port 80 avec l'adresse IP de mon Raspberry Pi ou autre chose, mais cela "expire" à chaque fois que je tape mon adresse IP externe
Jim Jones
Essayez d'y accéder et de spécifier le port 80, comme xx.xx.xx.xx: 80
George Pearce
@Spencer: Vous ne pouvez pas tester de manière fiable la redirection de port depuis l'intérieur de votre réseau car tous les routeurs ne prennent pas en charge l'épingle à cheveux. Essayez de le tester depuis l'extérieur de votre réseau local. Par exemple, utilisez un téléphone mobile avec WiFi désactivé et utilisez des données cellulaires (3G, HCSD, etc.) pour une connexion non LAN.
RedGrittyBrick
@SpencerKillen Testez-vous de l'extérieur? De nombreux appareils ne le feront pas pour vous si vous êtes assis sur le même réseau local que votre raspberry pi et que vous accédez à l'adresse IP publique de votre routeur. Si vous pouvez accéder au serveur Web au 192.168.0.14 à partir de votre réseau local, le RPI ou Apache n'est pas en cause, mais la redirection de port ne se fait pas correctement, ou votre routeur a un pare-feu en place quelque part également.
nos
Si la redirection de port est trop lourde, ou pas du tout une option (par exemple, si vous êtes derrière un routeur mobile), vous pouvez essayer un service de relais comme PageKite ou Yaler.net (Divulgation: je suis un fondateur de Yaler)
tamberg
3

Il y a quelques points à garder à l'esprit.

La première est que même si la redirection de port est correctement configurée dans votre routeur, vous ne pourrez peut-être pas vous connecter à votre adresse IP publique depuis la maison car certains routeurs ne transfèrent que les connexions provenant de "l'extérieur", pas de "l'intérieur". Un autre problème courant est que certains FAI ne veulent pas que leurs utilisateurs exécutent des serveurs publics et bloquent les ports entrants courants tels que le port 80 ou 25.

Je ne sais pas si l'un ou l'autre s'applique à votre cas, mais c'est possible. En dehors de cela, je dirais que vous êtes sur la bonne voie, configurer votre routeur et une solution DNS dynamique est le moyen le plus efficace de le faire s'il fonctionne pour vous.

Cependant, si cela ne fonctionne pas pour une raison quelconque, j'ai créé une solution appelée PageKite ( http://pagekite.net/) pour aider à rendre les serveurs publics derrière des pare-feu stricts ou sur des appareils qui changent fréquemment d'emplacement. Il fonctionne en créant un tunnel à partir de votre Raspberry Pi vers un serveur relais "frontal" qui transfère vos demandes et réponses entrantes sur le tunnel. Ainsi, chaque fois que votre Pi dispose d'une connexion Internet fonctionnelle et peut se connecter au relais, votre serveur sera visible (pas de réglages de routeur ou de dns nécessaires). C'est un logiciel gratuit, mais si les gens utilisent notre service en ligne pour se connecter (au lieu d'exécuter leur propre relais quelque part), nous demandons aux gens de payer un peu pour le privilège. Ceci est similaire au tunnel local qui a été mentionné ailleurs, sauf que PageKite a été conçu avec une fiabilité et des connexions permanentes à l'esprit, pas seulement pour des tests temporaires.

Bonne chance!

Bjarni Rúnar
la source
Je dois mentionner que pour utiliser PageKite avec un Raspberry Pi, il est préférable de suivre les instructions pour Debian, ici: pagekite.net/wiki/Howto/GNULinux/ConfigureYourSystem
Bjarni Rúnar
0

Vous aurez besoin d'un service comme DynDNS, ou vous obtiendrez une adresse IP statique. Sinon, vous pourriez envisager un VPN.

user1945104
la source
0

Cela dépend si vous souhaitez partager en permanence votre contenu Web ou si vous n'avez besoin que d'un accès public épisodique. Pour ce dernier, il n'est pas nécessaire de passer par les tracas de la configuration d'un compte DynDNS et de l'ouverture des ports de transfert dans votre routeur.

Une solution assez simple consiste à utiliser LocalTunnel , ce qui rendra votre serveur Web accessible via un nom de domaine tel que:

http://8bv2.localtunnel.com

Il est très utile pour partager la progression d'un site Web que vous hébergez sur votre ordinateur.

Mickaël Le Baillif
la source
0

Ma solution pour plusieurs systèmes sous IP dynamique est la suivante:

J'ai un domaine du travail cron godaddy Entrydns 1 sur mon routeur qui télécharge mon adresse IP vers entrydns avec un jeton (un jeton fourni par entrydns). Et mon serveur DNS sous mon domaine godaddy est défini sur entrydns. Oh et n'oubliez pas de rediriger vers l'avant :)

Si vous avez besoin, je peux vous donner un guide étape par étape plus détaillé, mais j'espère que vous pourrez comprendre ce processus facile via google :)

crancker
la source
1
il serait peut-être préférable de fournir le guide étape par étape plus détaillé, surtout si cela aide d'autres personnes ayant des problèmes similaires. Je comprends que googler aidera, mais je suppose que chaque question peut être répondue avec google!
kolin