Mettre serveur web local en ligne sans ouvrir de ports
Résolu/Fermé
briocheOchoco
Messages postés
7
Date d'inscription
vendredi 15 avril 2022
Statut
Membre
Dernière intervention
28 septembre 2022
-
15 avril 2022 à 16:57
avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 - 15 avril 2022 à 19:37
avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 - 15 avril 2022 à 19:37
A voir également:
- Mettre serveur web local en ligne sans ouvrir de ports
- Appdata local - Guide
- Partage de photos en ligne - Guide
- Comment ouvrir un fichier epub ? - Guide
- Site de vente en ligne particulier - Guide
- Ouvrir fichier .bin - Guide
3 réponses
Pierrecastor
Messages postés
41473
Date d'inscription
mercredi 5 novembre 2003
Statut
Modérateur
Dernière intervention
30 mai 2024
4 144
15 avril 2022 à 17:46
15 avril 2022 à 17:46
Salut
Quel modèle, la box ? Parce que sans rediriger les port, je ne vois pas de solution.
Quel modèle, la box ? Parce que sans rediriger les port, je ne vois pas de solution.
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
Modifié le 15 avril 2022 à 18:06
Modifié le 15 avril 2022 à 18:06
Bonjour,
Si tu souhaites un accès direct avec ton adresse IPv4 statique, il n'y a pas le choix, il faudra nécessairement créer une redirection de port au niveau de la box. Je ne vois pas par quel moyen tu pourrais espérer accéder à ton serveur sans redirection de port via http://1.2.3.4/ en sachant que 1.2.3.4 est routée vers ta box et non le serveur.
De plus, la plupart des box offrent la possibilité de créer une redirection de port, surtout avec une offre "pro".
Toutefois, pour les cas où la redirection de ports n'est pas possible pour diverses raisons :
- Accès à l'administration du routeur/box non autorisé (logement avec accès Internet partagé...).
- Aucune IP publique n'est routée jusqu'à la box (CG-NAT)
- ...
Il faudra passer par un serveur intermédiaire qui fera le lien entre les visiteurs et le serveur à la maison. Le serveur local établira une connexion sortante (tunnel type VPN, SSH, protocole propriétaire, ...) vers le serveur distant à l'aide d'un logiciel adéquat.
-> Cela implique que le visiteur accédera non plus à l'IPv4 de la box, mais celle du serveur distant. Que ce soit avec l'IP ou un nom de domaine résolu vers cette IP.
La plupart de ces services sont des proxy inversés HTTP(S) et effectueront le routage¹ vers un serveur ou un autre en fonction du nom, et imposeront donc l'utilisation d'un domaine ou sous-domaine afin de ne pas devoir dédié une IP par utilisateur.
Sans utiliser de nom (domaine / sous-domaine), cela signifierait que l'IP entière, ou du moins le couple ip + port (80/443) sera entièrement redirigé vers ton serveur. C'est tout à fait possible mais une IP dédiée à un prix, ces services ne sont plus gratuits.
Dans le cas d'un proxy HTTPS, il faut avoir conscience que le chiffrement TLS n'est pas entre visiteur <-> serveur local, mais entre visiteur <-> serveur distant. Dans plusieurs cas, la connexion serveur distant <-> serveur local n'est pas chiffrée, beaucoup zappent cette partie, mais il est tout à fait possible d'avoir un chiffrement visiteur <-> serveur distant combiné avec un chiffrement serveur distant <-> serveur local. Mais il ne s'agira pas d'un chiffrement « E2EE » car le serveur intermédiaire peut lire les échanges. À garder à l'esprit selon le niveau de confidentialité / confiance.
Parmi ces services :
https://ngrok.com/
https://www.cloudflare.com/products/tunnel/
ou une liste plutôt exhaustive de solutions SaaS commerciales ou gratuites, ou de solutions qu'on peut héberger soi-même (faudra quand même un serveur intermédiaire type VPS à 5€) :
https://github.com/anderspitman/awesome-tunneling
Étant dans le même cas de figure, je loue un VPS à 5€ faisant office de serveur VPN. Mon serveur s'y connecte en tant que client VPN. Le VPS devient donc un routeur "NAT distant" entre son WAN (Internet) et le réseau local virtuel créé par le logiciel VPN. Puisqu'il s'agit d'un routeur distant, j'y configure alors une redirection de port depuis son IP publique vers l'IP locale (dans le réseau VPN) de mon serveur.
Sinon, avec l'IPv6, ces problèmes de NAT / redirections de port n'existent plus.
¹ Le mot routage est ici utilisé pour désigner le fait d'afficher un site ou un autre en fonction du nom, de la même façon qu'un VirtualHost sous Apache/Nginx. Il ne s'agit pas de routage de paquets IP tel qu'effectué par un routeur.
Si tu souhaites un accès direct avec ton adresse IPv4 statique, il n'y a pas le choix, il faudra nécessairement créer une redirection de port au niveau de la box. Je ne vois pas par quel moyen tu pourrais espérer accéder à ton serveur sans redirection de port via http://1.2.3.4/ en sachant que 1.2.3.4 est routée vers ta box et non le serveur.
De plus, la plupart des box offrent la possibilité de créer une redirection de port, surtout avec une offre "pro".
Toutefois, pour les cas où la redirection de ports n'est pas possible pour diverses raisons :
- Accès à l'administration du routeur/box non autorisé (logement avec accès Internet partagé...).
- Aucune IP publique n'est routée jusqu'à la box (CG-NAT)
- ...
Il faudra passer par un serveur intermédiaire qui fera le lien entre les visiteurs et le serveur à la maison. Le serveur local établira une connexion sortante (tunnel type VPN, SSH, protocole propriétaire, ...) vers le serveur distant à l'aide d'un logiciel adéquat.
-> Cela implique que le visiteur accédera non plus à l'IPv4 de la box, mais celle du serveur distant. Que ce soit avec l'IP ou un nom de domaine résolu vers cette IP.
La plupart de ces services sont des proxy inversés HTTP(S) et effectueront le routage¹ vers un serveur ou un autre en fonction du nom, et imposeront donc l'utilisation d'un domaine ou sous-domaine afin de ne pas devoir dédié une IP par utilisateur.
Sans utiliser de nom (domaine / sous-domaine), cela signifierait que l'IP entière, ou du moins le couple ip + port (80/443) sera entièrement redirigé vers ton serveur. C'est tout à fait possible mais une IP dédiée à un prix, ces services ne sont plus gratuits.
Dans le cas d'un proxy HTTPS, il faut avoir conscience que le chiffrement TLS n'est pas entre visiteur <-> serveur local, mais entre visiteur <-> serveur distant. Dans plusieurs cas, la connexion serveur distant <-> serveur local n'est pas chiffrée, beaucoup zappent cette partie, mais il est tout à fait possible d'avoir un chiffrement visiteur <-> serveur distant combiné avec un chiffrement serveur distant <-> serveur local. Mais il ne s'agira pas d'un chiffrement « E2EE » car le serveur intermédiaire peut lire les échanges. À garder à l'esprit selon le niveau de confidentialité / confiance.
Parmi ces services :
https://ngrok.com/
https://www.cloudflare.com/products/tunnel/
ou une liste plutôt exhaustive de solutions SaaS commerciales ou gratuites, ou de solutions qu'on peut héberger soi-même (faudra quand même un serveur intermédiaire type VPS à 5€) :
https://github.com/anderspitman/awesome-tunneling
Étant dans le même cas de figure, je loue un VPS à 5€ faisant office de serveur VPN. Mon serveur s'y connecte en tant que client VPN. Le VPS devient donc un routeur "NAT distant" entre son WAN (Internet) et le réseau local virtuel créé par le logiciel VPN. Puisqu'il s'agit d'un routeur distant, j'y configure alors une redirection de port depuis son IP publique vers l'IP locale (dans le réseau VPN) de mon serveur.
Sinon, avec l'IPv6, ces problèmes de NAT / redirections de port n'existent plus.
¹ Le mot routage est ici utilisé pour désigner le fait d'afficher un site ou un autre en fonction du nom, de la même façon qu'un VirtualHost sous Apache/Nginx. Il ne s'agit pas de routage de paquets IP tel qu'effectué par un routeur.
briocheOchoco
Messages postés
7
Date d'inscription
vendredi 15 avril 2022
Statut
Membre
Dernière intervention
28 septembre 2022
15 avril 2022 à 18:16
15 avril 2022 à 18:16
Bonjour,
Merci de votre réponse,
Depuis le post de mon message je peut accéder aux paramètres de ma box,
Maintenant je peut rediriger le port 80 vers mon serveur ubuntu mais ma seconde question est :
Dois-je configurer apache d'une façon particulière pour pouvoir accéder à mon serveur depuis l'internet extérieur ?
et
Dois-je ouvrir en premier le port 80 et ensuite config apache ou faire l'inverse
Cordialement Brioche .
Merci de votre réponse,
Depuis le post de mon message je peut accéder aux paramètres de ma box,
Maintenant je peut rediriger le port 80 vers mon serveur ubuntu mais ma seconde question est :
Dois-je configurer apache d'une façon particulière pour pouvoir accéder à mon serveur depuis l'internet extérieur ?
et
Dois-je ouvrir en premier le port 80 et ensuite config apache ou faire l'inverse
Cordialement Brioche .
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
15 avril 2022 à 19:37
15 avril 2022 à 19:37
> Dois-je configurer apache d'une façon particulière pour pouvoir accéder à mon serveur depuis l'internet extérieur ?
Aucune configuration particulière n'est nécessaire, le serveur traitera les requêtes provenant de visiteurs locaux ou externes de la même façon. Si tu peux y accéder depuis ton réseau local, alors il y a de grandes chances pour que la configuration Apache soit déjà correcte pour permettre aussi l'accès depuis l'extérieur.
> Dois-je ouvrir en premier le port 80 et ensuite config apache ou faire l'inverse
Il n'y a pas d'ordre préférentiel, mais les deux manipulations sont nécessaires.
Je vois que tu te concentres sur le port 80, mais n'oublie pas l'importance de HTTPS !
En particulier si tu comptes héberger des services comme Nextcloud ou autres, qui impliquent des transferts de données sensibles (fichiers, identifiants, ...).
Pour apprendre les bases réseaux et comprendre ces mécanismes de NAT (SNAT / DNAT) en seulement 1h, je recommande cette vidéo : https://www.youtube.com/watch?v=mgEMGoFIots
Aucune configuration particulière n'est nécessaire, le serveur traitera les requêtes provenant de visiteurs locaux ou externes de la même façon. Si tu peux y accéder depuis ton réseau local, alors il y a de grandes chances pour que la configuration Apache soit déjà correcte pour permettre aussi l'accès depuis l'extérieur.
> Dois-je ouvrir en premier le port 80 et ensuite config apache ou faire l'inverse
Il n'y a pas d'ordre préférentiel, mais les deux manipulations sont nécessaires.
Je vois que tu te concentres sur le port 80, mais n'oublie pas l'importance de HTTPS !
En particulier si tu comptes héberger des services comme Nextcloud ou autres, qui impliquent des transferts de données sensibles (fichiers, identifiants, ...).
Pour apprendre les bases réseaux et comprendre ces mécanismes de NAT (SNAT / DNAT) en seulement 1h, je recommande cette vidéo : https://www.youtube.com/watch?v=mgEMGoFIots