Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HTTPS "bug" #219

Open
raynoxfr opened this issue Mar 5, 2024 · 12 comments
Open

HTTPS "bug" #219

raynoxfr opened this issue Mar 5, 2024 · 12 comments

Comments

@raynoxfr
Copy link

raynoxfr commented Mar 5, 2024

Bonjour,

Je reviens à la charge, sur mon image docker...
Je parviens maintenant à avoir la page avec un format attendu, tout en tournant dans un containeur pour raspisms et un 2nd pour mariadb, sans oublier d'activer le mode rewrite d'apache.

Selon moi il y a un "bug" sur la gestion de l'HTTPS.
En effet, lorsque je regarde mon paramétrage du env.prod.php :
'STATIC_HTTP_URL' => 'https://sms.domaine.fr',

et quand je charge l'URL, j'ai :
image

L'accès se fait via traefik, qui permet de géner automatiquement l'HTTPS et les routes vers les différents containeurs.
Le paramétrage de l'HTTPS est géré uniquement au niveau de traefik, pour ainsi ne pas avoir à le gérer pour chaque conainteurs.
Jusqu'à maintenant, je n'ai jamais eu de souci particulier ou devoir modifier une valeur dans un programme suite à cette mise en place.

Je constate que même ayant défini plus haut "https://sms.domaine.fr", il y a des liens qui sont interrogés en http, d'ou la page ci-dessus.

Via le mode développeur de safari, je me rends compte qu'il y a des fichiers bloqués en "http" :

[Warning] [blocked] The page at https://sms.domaine.fr/ was not allowed to run insecure content from http://sms.domaine.fr/assets/css/bootstrap.min.css. (sms.domaine.fr, line 13)

La solution, que j'ai trouvé actuellement, ajouter dans le fichier env.prod.php :

$environment['HTTP_PROTOCOL'] = 'https://'

Afin d'obtenir un $http_pwd en https:// au lieu de http://.
Dans l'idéal, il faudrait récupérer les informations à partir de l'URL qui a été paramètre dans STATIC_HTTP_URL, afin d'être certain d'utiliser le bon protocole.

PS : je n'ai pas vu d'image ou de dockerfile, ce qui aurait pu être intéressant, pour déployer rapidement l'application, sans devoir suivre l'installation manuelle.

Merci

@raynoxfr
Copy link
Author

raynoxfr commented Mar 5, 2024

Au juste, est-ce que je cherche au mauvais endroit la doc ? J'ai la page download, mais ça ne parle pas de la création de l'utilisateur admin en BDD.
Je n'ai pas trouvé de documentation pour créer l'utilisateur pour se connecter. J'ai fini par aller dans le package DEB pour récupérer le "postinst" et je suis en train de chercher ce qu'il manque et comment configurer.

j'ai trouve cette commande :
php console.php controllers/internals/Console.php create_update_user --email='[email protected]' --password='$$$$$$' --admin='true'

@raynoxfr
Copy link
Author

raynoxfr commented Mar 5, 2024

Je parviens à envoyer des SMS maintenant à partir de l'interface raspisms, impossible de les récupérer. J'ai trouvé sur le forum une commande à lancer et je ne vois pas de SMS en attente de lecture, doit y avoir un petit coup de tournevis...

Ensuite, lorsque tout sera fonctionnel, il serait intéressant de mettre l'image sur Hub docker, quand tout sera mis au propre.

Le dockerfile se base en faisant un clone github de clone.

@OsaAjani
Copy link
Collaborator

OsaAjani commented Mar 6, 2024

En effet, lorsque je regarde mon paramétrage du env.prod.php : 'STATIC_HTTP_URL' => 'https://sms.domaine.fr',

Alors tu es tombé juste après un changement de la façon dont l'url est calculé par RaspiSMS. En fait STATIC_HTTP_URL ne devrait plus exister, il faudrait le calculer directement depuis les autres infos, je vais essayer de faire la modif rapidement dans le code et dans la doc. Cette adresse est uniquement utilisée pour calculer le chemin des medias dans les MMS.

Normalement l'appli essaie automatiquement de calculer s'il doit définir l'adresse en http ou en https, j'imagine que dans ton cas traffic passe la requête en HTTP et donc du point de vue de l'appli c'est une adresse http qui est demandée.

La façon correcte de faire est de créer une constante HTTP_PROTOCOL à https dans un des fichiers env, par example env.prod.php.

Pour la création de l'utilisateur ça utilise effectivement le controller console.

Si tu as un dockerfile qui fonctionne bien et que tu es d'accord, je suis chaud de l'ajouter sur dockerhub.

@raynoxfr
Copy link
Author

raynoxfr commented Mar 6, 2024

Parfait, je te tiens au courant.

Me reste la récupération des sms (faut que j'y travaille, avec gammu et voir si il arrive à voir les sms non lu).

Enfin je mettrai au propre, ce que j'ai fait et je t'enverrai les éléments et le dockerfile, je pense que ça pourra faciliter pour d'autres personnes.

Impossible de retrouver les SMS, via Gammu quand les SMS sont sauvegardés dans le téléphone.
J'en ai déplacé 1 dans la mémoire de la carte SIM, et la il le retrouve. (téléphone ZTE F160)
Je continue les investigations, soit pour trouver une solution, ou soit pour sauvegarder les SMS reçu sur la carte SIM

Merci

@GBInformatics
Copy link

Je parviens à envoyer des SMS maintenant à partir de l'interface raspisms, impossible de les récupérer. J'ai trouvé sur le forum une commande à lancer et je ne vois pas de SMS en attente de lecture, doit y avoir un petit coup de tournevis...

Ensuite, lorsque tout sera fonctionnel, il serait intéressant de mettre l'image sur Hub docker, quand tout sera mis au propre.

Le dockerfile se base en faisant un clone github de clone.

Bonjour vous avez réussi à générer le fichier .credentials ?

@raynoxfr
Copy link
Author

Le fichier .credentials correspond au résultat de la commande :
php console.php controllers/internals/Console.php create_update_user --email="$APP_USER_EMAIL" --password="$APP_USER_PASSWORD" --admin="$APP_USER_ADMIN"

$APP_USER_EMAIL : Email
$APP_USER_PASSWORD : Password
$APP_USER_ADMIN : true

Ensuite vous pourriez utiliser $APP_USER_EMAIL / $APP_USER_PASSWORD pour vous connecter.
Je n'ai pas suivi la procédure classique...

@GBInformatics
Copy link

$APP_USER_EMAIL : Email $APP_USER_PASSWORD : Password $APP_USER_ADMIN : true

alors pour que ca soir clair : dans mon terminal je mets la commande : php console.php controllers/internals/Console.php create_update_user --email="$APP_USER_EMAIL" --password="$APP_USER_PASSWORD" --admin="$APP_USER_ADMIN" ? Celle va me créer le fichier .credentials ensuite ?

@raynoxfr
Copy link
Author

non il va créer l'utilisateur en BDD selon les informations communiquées donc que vous. connaissez...
Donc le credentials n'aura plus d'intérêt, car vous connaissez les informations en entrée.

le credential permet de générer un compte et d'afficher les informations de connexion.

@GBInformatics
Copy link

il va créer l'utilisateur en BDD se

lors de l'installation j'ai communiqué l'adresse mail et le mot de passe du compte pour me connecter sur raspisms

@raynoxfr
Copy link
Author

ok donc le credentials n'est pas utile, il rappelle les informations, si vous les connaissez déjà

@GBInformatics
Copy link

GBInformatics commented Mar 29, 2024

ok donc le credentials n'est pas utile, il rappelle les informations, si vous les connaissez déjà

Je mets l'adresse mise lors de la confiugration, au moment où il demande "e-mail address for raspisms administrateur account".

URL avant de mettre l'adresse mail et le mot de passe : http://192.168.X.X/raspisms/.
URL après avoir mis l'adresse mail et le mot de passe : http://192.168.X.X/raspisms/connection.
Le dossier connection n'est pas présent dans /usr/share/raspisms, je l'ai créé mais ca ne change rien.

Le blocage doit venir de ce dossier manquant ?

@vincent1890
Copy link

En effet, lorsque je regarde mon paramétrage du env.prod.php : 'STATIC_HTTP_URL' => 'https://sms.domaine.fr',

Alors tu es tombé juste après un changement de la façon dont l'url est calculé par RaspiSMS. En fait STATIC_HTTP_URL ne devrait plus exister, il faudrait le calculer directement depuis les autres infos, je vais essayer de faire la modif rapidement dans le code et dans la doc. Cette adresse est uniquement utilisée pour calculer le chemin des medias dans les MMS.

Normalement l'appli essaie automatiquement de calculer s'il doit définir l'adresse en http ou en https, j'imagine que dans ton cas traffic passe la requête en HTTP et donc du point de vue de l'appli c'est une adresse http qui est demandée.

La façon correcte de faire est de créer une constante HTTP_PROTOCOL à https dans un des fichiers env, par example env.prod.php.

Pour la création de l'utilisateur ça utilise effectivement le controller console.

Si tu as un dockerfile qui fonctionne bien et que tu es d'accord, je suis chaud de l'ajouter sur dockerhub.

Bonjour,

Est ce que le problème va etre resolu rapidement ?
#222

J'ai exactement le même souci les chemins sont construit en absolu alors qu'il devrais etre des chemins relatif pour s'adapter au context utilisateur et etre http ou https si derriere un proxy par exemple.

Merci

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants