Accès web raspberry via 4G

Bonsoir, je viens vers vous pour faire part d’un petit problème qui me chagrine…

j’ai installé un raspberry en tant que serveur web (apache2) branché en ethernet sur ma Freebox Révolution.

Let’s encrypt a été mis en place, tout à l’air de fonctionner.
Je parviens à accéder au site en local mais aussi en externe.

Vous allez me demander « Mais où est le problème ?? »

et bien le voici :
Le seul souci c’est que mon téléphone (iPhone) en 4G n’arrive pas à établir une connection…

Aucun firewall ni protections sur le raspberry pour le moment…
Auriez-vous une idée d’où peux venir ce souci plutôt embêtant ?

Merci

Les certificats SSL sous mobiles sont plus restrictif que sur un PC, mais celà dit, Let’s encrypt est reconnu, sauf sur les appareil d’ancienne génération.

Si ton appareil date de avant 2017 (sans être une valeur précise), tu as de forte chance de ne pas pouvoir l’utiliser via SSL. Pourquoi ?
Let’s encrypt utilisait l’approbation d’un tier reconnu dans le domaine du SSL, depuis le début de l’année, il est lui-même un validateur. Sous chrome, et IE 11 et moins, par exemple, les certificats ne seront pas reconnus, et bloque le site.

La il faut voir avec chaque développeur de navigateur, et de système d’exploitation, leur capacité a effectuer cette validation.

Sous Android, les version 5 et inférieur sont impacté, pour iOS, j’ai aucune idée, je n’ai pas de produit de la pomme. Le problème existe dont aussi avec des versions de Firefox, Chrome, Opera etc…, met à jours tes logiciel. La date de 2017 est un indicatif simple, soit 3~4 d’âge, plusieurs versions ont déjà dépassé les capacité de cette époque.

La solution simple est d’utiliser le non HTTP pour y accéder (sans le SSL). Sinon, tente aussi un ping, la base pour savoir si c’est un problème de connectivité.

Bonjour, merci pour ta réponse.

Je possède un iPhone 12 Mini, donc pas de problème niveau ancienneté de l’appareil.

Ça m’embête un peu de devoir passer par le http car j’ai mis une redirection https sur chaque pages…

Alors, si en HTTP il marche mais pas avec le HTTPS, ton problème est clairement le certificat, avec le HTACCESS de Apache tu peux définir des règles pour gérer la redirection selon le HTTP AGENT, ou via un script PHP, sinon install Squid et fait un proxy sur un port pour ton site.

mais ce que je comprends pas c’est que sur
l’ iPhone d’un ami, en 4G aussi, ça marche… Je vais devenir fou

Si le HTTPS marche sur un mais pas sur l’autre, mais que le HTTP passe, faut voir avec le navigateur, le cache et le certificat SSL.

Si rien passe sur ton appareil, mais que tout passe sur l’autre vérifie ceci;

  • Est-ce que l’autre, celui qui marche, as une configuration connu de ton Wifi ?
  • Es-tu en Wifi et sur le 4G durant tes tests ?

De mon expérience, dans certaines circonstances, si un service est offert via « internet » et via « local », même en y accédant via l’adresse Internet, y va utiliser des informations local, ceci existe si;

  • Tu utilise une redirection via ton routeur
  • Tu as une page « local » et une page « internet » ouverte sur le site
  • Ton serveur retourne l’adresse local d’une manière quelconque
  • Ton ordinateur « connais » le routage de ton adresse internet vers l’adresse local (rare, plus souvent sur la même machine ce problème)

Mais je rappel que j’ai déjà vu un « déroutage » dans certaines circonstances et ne veux pas dire que automatiquement avec ce type de situation qu’un « déroutage » ce produise. Ceci n’est qu’une piste d’investigation.

Le serveur Web retourne plusieurs valeur en entête, et peux ainsi retracer des sessions ou détecter certains paramètres réseaux. Après selon le navogateur et la configuration, il peut retourner des valeurs autres que ceux « logiquement attendu ». Par exemple, si tu utilise la config de base de Apache 2 (/var/www/html sans vhost), il va retourner son « hostname » et non le vhost utilisé ou l’adresse IP, ton téléphone, si il est connecté sur le réseau local, il va tenter d’utiliser ce host. Ceci est l’un des étranges comportement que j’ai vu. ET cette config est dans les valeurs globales de Apache, et non du vhost en lui-même.

Alors en simple, déconnect ton Wifi, vide ton cache, ferme/ouvre le navigateur (et son cache mémoire) à fin d’avoir le moins de résidu de ton réseau local et de tes tests.

Utilise également un autre navigateur, des outils de tests réseau et même un client SSH pour ton iPhone à fin de voir si tu arrive à te connecter au Pi. Des outils réseaux de « Trace Route » va permettre de déterminer si c’est un problème de routage, vérifie tes logs Apache, voir ce qu’il en dit (ou remplace Apache par le serveur utilisé), essai de tracer ta visite, les fichiers sont dans « /var/log/apache2 » pour le « error.log » et « access.log » de Apache (httpd package) pour la configuration de base.