Accès extérieur en 4G avec NGINX & Freebox Delta

Hello

As tu un message d’erreur ?

Un truc que je vais fait pour vérifie mon site avec un pc … ( je crois qu’on dit loopback )

Je coupe tout carte internet sur mon pc .

Je branche mon tel en USB sur le pc et j’active le partage internet de mon tel.
Le tel prend une IP de de mon opérateur mobile

Le pc lui prend une IP du tel en ipv4/ ipv6

Et je fais mes tests de connexion.

A mes début avec HA j’avais des souci de connexion au cas ou:

Des pistes , peut être a explorer !!

Merci @ClassicRed , alors la piste est excellente, mais je n’ai pas encore réussi ! En revanche c’est ça, sur NGINX, il semble que le port 443 n’écoute qu’en IPv4 et pas IPv6.

J’ai activé les traces de niveau debug sur NGINX et j’ai trouvé ceci :

server {
  set $forward_scheme http;
  set $server         "http://192.168.1.93";
  set $port           8123;
  listen 80;
#listen [::]:80;
listen 443 ssl http2;
#listen [::]:443;
  server_name <mon.ndd.fr>;
  # Let's Encrypt SSL
  include conf.d/include/letsencrypt-acme-challenge.conf;

Je suppose qu’il faut décommenter la ligne (je ne suis pas sûr de toute la manip).

MAis en premier lieu trouve pas du tout le fichier de config à modifier pour NGINX. J’ai essayé d’aller voir par là, mais les dossiers n’existent même pas !!

  • /etc/nginx/sites-available/
  • /data/nginx/proxy_host/

Il doivent bien être quelque part…

@Sindoor

Hello

Tu as essayé de voir si tes port sont OK

Hello,

@ClassicRed, merci pour ta réactivité :slight_smile: Je n’ai pas compris pourquoi tu me parles de port (les infos de mes ports dans les premiers posts). A ce stade là, ce n’est pas un soucis de port, puisque ça marche en IPV4.

Ici il faut que NGINX écoute l’IPV6, et il n’est configuré que pour l’IPV4 par défaut (voir la ligne en commentaire dans les logs de NGINX dans mon post précédent).

D’ailleurs, tes posts m’ont bien aidé, mais le fichier de config que tu modifies dans ta mise au point… ben je ne l’ai jamais trouvé chez moi (normal il faut le créer), et même si je le crée, ben il n’est pas lu par NGINX… Je m’explique :slight_smile:

J’ai donc pris la doc de NGINX (NGINX Configuration - Home Assistant 中文网) et consulté des dizaines de post dans les forums tout azimuts pour aller trouver & modifier ma config pour activer cette écoute de l’IPV6… beaucoup disent des choses assez différentes, mais bon… après tous pourquoi ne pas tout essayer.

Il faut donc :

  • Créer les répertoires manquants pour avoir : /etc/nginx/sites-enabled/
  • Créer un fichier sans extention… dans la doc, il faut l’appeler : homeassistant
  • Dedans copier un truc qui doit ressembler à ça (c’est un peu ce que tu as fait @ClassicRed )
server {
  listen 80;
  listen [::]:80;
  listen 443 ssl;
  listen [::]:443 ssl;
  server_name <mon_ndd>;

  ssl on;
  ssl_certificate /etc/letsencrypt/live/npm-1/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/npm-1/privkey.pem;
  ssl_prefer_server_ciphers on;

  location / {
    proxy_pass http://192.168.1.93:8123/;
    proxy_set_header Host $host;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
  }
  location /api/websocket {
    proxy_pass http://192.168.1.93/api/websocket;
    proxy_set_header Host $host;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
  }
}

Mais ca marche pas… j’ai beau rédémarrer HA, la config ne plante pas, j’ai surtout l’impression que le fichier n’est pas lu.

Autres pistes

  • D’autres disent qu’il faut en fait plutôt créer le fichier : /etc/nginx/nginx.conf et mettre cette config dedans
  • D’autres disent qu’il faut que le fichier /etc/nginx/nginx.conf contienne une redirection pour lire le contenu de /etc/nginx/sites-enabled/
  • Ca parle beaucoup d’ubuntu… mais rarement de homeassistant… décidement…

Bref, ça m’épuise, il semble que tout soit volontairement compliqué (lol). Pkoi ne pas avoir activé l’écoute de l’IPV6 par défaut grrr. Même les traces de NGINX n’aident pas à déboguer, elles ne se refresh pas assez correctement dans l’interface du module NGINX (et évidemment je ne sais pas ou est le fichier de log pour aller consulter en intégralité).

Je sais que je touche au but (et qu’à la fin cela va débloquer des 100 aines de personnes qui ont le même soucis et le même niveau de connaissance que moi).

J’ai rarement eu besoin de configurer l’ipv6 spécifiquement pour un nginx. Que tu ai une connexion only ipv6 et qui ne tolère pas de asculer sur de l’ip4est étonnant a vrai dire car normalement ca ne devrait pas être bloquant.

Non seulement tu devrais configurer nginx en IPv6 mais tu dois aussi t’assurer que ton service qui heberge ce nginx ait bien de la connectivité en IPv6 c’est a dire une adresse IP v6. Je ne sais plus sur quoi tu fais tourner nginx, mais essaye de vérifier ce point si ce n’est pas déjà fait, désolé si c’est déjà le cas.

@dgaussin, merci. Du coup, je fais tourner NGINX sur Homeassistant, et oui HA dispose d’une IPV6.

Résumé très résumé des 44 postes

  • Une freebox V7, un rasberri PI 4, les ports sont bien reroutés. Le routage NGINX avec un reverse proxy en HTTPS fonctionne du tonnerre, avec tous les PC ou les mobiles, tant qu’ils sont connectés en filaire ou en WIFI (sur une box), mais par défaut… ca marche plus dès qu’on utilise une connexion avec les données mobiles d’un téléphone…
  • Et a priori, les mobiles récents qui sont connectés sur leur réseau mobile (cad pas le WIFI) sont connecté automatiquement en IPV6…
  • La freebox, home assistant, tous gèrent l’IPV6… d’ailleurs ca ne se désactive même plus sur une freebox.
  • Une expérience dans ce topic a montré que dès qu’un mobile (n’importe lequel) est forcé avec un APN de son opérateur (n’importe lequel) sur une adresse IPV4… il peut se connecter à home assistant.
  • @ClassicRed récemment, m’a mis sur la voie de la config de NGINX et de la nécessité de bien configurer son serveur.

Je viens d’installer NGINX… D’après les logs de NGINX, on sait que ce dernier n’écoute pas l’IPV6 par défaut :

server {
  set $forward_scheme http;
  set $server         "http://192.168.1.93";
  set $port           8123;
  listen 80;
#listen [::]:80;
listen 443 ssl http2;
#listen [::]:443;

Les petits # indique que les lignes sont en commentaire.
Les lignes listen [::]:443; sont précisément celles qui concernent l’IPV6. Du coup… NGINX ne me laisse pas passer le reverse proxy (donc le mobile bloquera à l’écran de connextion).

L’IHM de config de NGINX sous homeassistant c’est très très limité et ça ressemble à ça :

Donc @dgaussin , je suis ravis que tu ais rarement eu l’occasion de bidouiller NGINX, mais tu vois bien que ce dernier veut pas se laisser faire, si je veux pouvoir accéder avec mon mobile à Home assistant depuis n’importe où.
Du coup, il faut y aller à la MANO !

J’ai créé les répertoires ci dessous, les fichiers de mon poste précédents ne sont même pas lu par NGINX quand je redémarre (en tout cas cela ne fait rien, ca ne crées pas de log, nada).

  • /etc/nginx/nginx.conf
  • /etc/nginx/sites-available/

Bon… Et on revient à la question : Comment fait on pour modifier la config SERVER de NGINX sous Home assistant ??? (ne me parlez pas de la config du reverse proxy via l’UI de NGINX dans le prochain post, elle est tout pareil que celle ci : ✅ Accès de l’extérieur en HTTPS avec Nginx Proxy Manager)

Comment fait on pour modifier la config SERVER de NGINX. J’ai beau éplucher les sites sur la config de NGINX, ou la doc (NGINX Configuration - Home Assistant 中文网) je brûle, mais homeassistant veut rien savoir.

Bravo pour le résumé et aussi de ne pas renoncer :smirk:

Du coup comme add-on on est d’accord ?

« Add-on » ou « Module complémentaire » si je reprends le terme de Home Assistant. On est d’accord.

Hello

Je connais pas la Delta ( je suis cantonné a la révolution )

On peut lui installé plusieurs VM , si je me trompe ??
Si oui …
pourquoi ne pas faire une seconde installe de HA, ensuite changé son port 8123 par 8124 par exemple refaire des tests d’accessibilité de l’extérieur en 4G

Quelque bug qui date

Tu as bien une IP FULL STACK ??

Bonjour, à tous.

Si je peux aider un peu à trouver l’origine du problème, j’étais exactement dans le même cas que @Sindoor .

Voici ma configuration :

  • HA sur rasberry 3B+
  • Freebox pop
  • Accès extérieur celon le tuto présent sur ce forum avec une adresse en xxxx.freeboxos.fr
  • Accès HTTPS avec certificat à jour

Le cas de figure était exactement le même, c’est à dire :

  • Accès parfait depuis une ligne « fixe », quelque soit l’opérateur"
  • Accès parfait depuis une ligne « mobile » free 4G et 5G
  • Accès impossible depuis n’importe quels autres opérateurs mobiles.

Un grand merci à @Francois_Aubron et sa manipulation sur Android IPv4 qui a parfaitement résolu le problème.

Mais effectivement je n’ai pas d’autre piste. Je sais juste que ma femme a gardé sa connexion free mobile n’a aucun problème d’accès à HA.

Précision, j’arrivais à me connecter à distance sur les menus de la freebox depuis mobile non free sans problème…

Un grand merci à la communauté, et si je peux aider c’est avec plaisir

Bonjour merci à tous pour vos réponses.

J’ai lu avec attention, et merci pour le déterrage de sujets @ClassicRed :grinning: . En gros personne n’a jamais résolu le problème, il est connu depuis longtemps, et la plupart ont soit lâché l’affaire, soit forcés les APN de leurs opérateurs IPV6 en IPV4 sur l’ensembles de leur mobiles.

En recoupant les témoignages :

  • Tous les périphériques qui utilisent une connexion réseau mobile, dont les APN de l’opérateur sont configurés en IPV6 only, ne peuvent pas accéder à home assistant en HTTPS via un reverse proxy NGINX.
  • Le soucis ne vient pas des ports, des box, des mobiles, des opérateurs, ou d’une erreur de manip lors de l’installation.

Lorsque NGINX est installé sur Ubuntu, les dossiers et répertoires de config de ce dernier sont présents et créés à l’installation en général… Il suffit d’aller chercher le fichier de config du serveur (le reverse proxy) et de décommenter une de ses ligne (Emplacement : /etc/nginx/nginx.conf ou /etc/nginx/sites-available/) pour que le reverse proxy écoute aussi bien l’IPV6 que l’IPV4.

Lorsque NGINX est installé sur HA en tant que module complémentaire, il faut créer tous les dossiers à la main via File Editor, ainsi que le fichier de config (je le redonne encore une fois le lien vers la doc: NGINX Configuration - Home Assistant 中文网 ). Et redémarrer HA. Et là, magie… tous les mobiles accéderont sans soucis à leur interface de Home Assistant, peu importe l’opérateur la box, ou un bidouillage des APN.

Mais alors… On a la réponse du coup ?
- Oui en théorie, mais en pratique j’y arrive pô !

J’ai redémarré HA, NGINX, tout… Mais NGINX ne veut pas lire le fichier /etc/nginx/nginx.conf ni ce que je mets dans /etc/nginx/sites-available/… J’ai ptét oublié un truc dans le configuration.yaml, ou fait une erreur de synthaxe… mais j’ai rien dans les logs… rien… NGINX s’en fou.

En fait @ClassicRed , j’étais sûr que toi tu avais réussi à le faire avec HA d’après tes vieux posts (en particulier celui là : [AIDE ]unable to connect to home assistant websocket api), non ?

Hello

Pour pour être honnête oui le tout fonctionné sans souci …
Apres que j’ai corrigé tous mes soucis

Mais ca date
De mémoire

Installe de Debian
Installe de Nginx
Installe de HA

Et c’est a partir de la que j’ai commence a avec des soucis de connection.
J’ai du faire les modif cité dans le lien que tu me cites

Bonsoir j’avais le meme problème que vous en utilisant mon tél android en 4G orange pour me connecter à HA qui est hébergé sur une VM de la Freebox delta.

Aucun problème en connexion extérieure tant que je suis sur un réseau wifi que ce soit via pc ou téléphone.

Après lecture de vos posts je suis allé voir si je pouvais modifier mes réglages apn mais sur ma carte sim entreprise ça a l’air d’être verrouillé.

Par contre en changeant le réglage de orange world a Orange entreprise ça a fonctionné tour de suite.

Salut tous,

Devinez quoi ? J’ai le même problème ! Et plutôt que parcourir 40 fils, je me permets un petit déterrage ici puisque le sujet me parait plutôt avancé mais toujours pas résolu.

Tout porte à croire que Sindoor a le diag : Nginx n’écoute pas l’IPV6 par défaut.

Sauf que deux petites choses me taraudent :

  • @Sindoor, si tu est encore là, tu fais mention d’un fichier de conf qui serait sous /etc/… Sauf que… Sur une install recommandée avec file editor, on n’a pas accès à la racine, mais a un dossier config, que je ne suis pas même certain qu’il est à la racine (oui oui, peur de rien, j’aurais tenté l’escroquerie ./…/etc/…, pas propre, ne marche a priori pas, mais peur de rien. :slight_smile: ) Tu as installé un distro linux + HA ?
  • Imaginons je n’installe pas le module nginx. Pas de proxy. Pourquoi ça ne marcherait pas ? HA ne sais pas non plus gérer ?

Pour essayer de faire avancer le schmilblik, il me vient deux idées :

  • Essayer de diag pourquoi cela ne marche pas en direct, sans reverse proxy. Je dois confesser que je suis nul en IPv6, mais je suis bien entouré. :slight_smile:
  • Faire une install en mode lab de Nginx pour tester avec un reverse proxy en mode standalone, et donc paramétrable.

Je ferai cela ce week-end je suppose. Si des gens sont encore là, je vous dirai le résultat…

Hello, je réponds rapidement (dans le train !).

Oui je suis toujours là :blush:. Mais en gros j’ai laché l’affaire, tout porte à croire que c’est un pb archi simple, mais dont la résolution est impossible (personne n’a trouvé, les gens se contentent de paramètrer leur tel en IPv4 ou modifient complètement leur conf matérielle).

Je voudrais me contenter de mon raspberry branché à ma freebox et que cela fonctionne de façon pratique (et qu’on peut oublier) un peu comme mon bridge philips hue qui marche en ipv6 tt seul… Malgré les dizaines d’heures passées a tester, a lire, a échanger, configurer, tester d’autres reverses proxy, d’autres solutions avec certificat etc… j’ai fini par abandonner. Je n’étais pas prêt à « tester pour voir » de monter un serveur truc avec une distrib machin, monté sur un super calculateur de la NASA… J’ai pas le matos et il est hors de question de monter une usine chez moi qui va rester allumée non stop.

Bref… J’attends que quelqu’un trouve le moyen de résoudre le cas. Moi je voudrais une solution (avec ou sans reverse proxy) qui fonctionne en https, peut importe l’appelant (ipv4, ipv6).

Courage :wink: et bonne année !

Ben monte un vpn (y aurait pas un Addon OpenVPN sur hais? Je sais pas je suis en mode python de base) comme ça t’ouvres pas ha sur internet et ton téléphone sera en local en permanence :+1:

05 mai 2023

Même pb ici.

Avec le port 443 uniquement. Si je mets un autre port, ça fonctionne.

Merci free

Je n’ai pas testé avec un autre port, mais à mon avis tu détient la solution… Tu as conservé le nom de domaine en freeboxos ?

Personnellement, j’ai enfin trouvé une solution également…

Alors j’ai trouvé une solution également…

Même si vous disposez d’une freebox, il suffit de ne pas utiliser le nom de domaine que vous pouvez créer via la freebox (le fameux ndd en freeboxos.fr)… C’est son utilisation qui nous mets la misère…

J’ai créé un nom de domaine gratuit via duckdns, et refait les même manip pour mettre en place mon reverse proxy (actuellement NGINX Home assistant ssl proxy).

Pas besoin d’usine à gaz… Mon raspberry pi branché a ma freebox fait le job :wink:

Merci a tous pour vos contributions ! :+1:

2 « J'aime »