LINCnil / pia-back

Programme développé avec le framework RubyOnRails mettant à disposition une API RESTful à destination des outils PIA et PIA-APP. | Program developped with RubyOnRails providing a RESTful API for the PIA and PIA-APP applications.
GNU General Public License v3.0
156 stars 65 forks source link

Connecter le frontend au backend en https #225

Closed David-EQSo closed 11 months ago

David-EQSo commented 1 year ago

Bonjour,

En suivant le cookbook, j’ai procédé à l’installation du pia et du pia-back sur un serveur ubuntu22. Avant l’activation SSL pour HTTPS, tout fonctionnait.

Mais depuis l’installation des certificats et le changement de configuration des fichiers de configuration apache, je ne parviens plus à connecter le pia au pia-back.

Le message "Connexion impossible au serveur : veuillez vérifier l'URL saisie." s’affiche à chaque tentative.

J’ai accès aux pages web sécurisées des 2 sites : https://pia.mon-site.be/ et https://pia-back.mon-site.be/

Je pense que le problème pourrait être lié à la commande utilisée pour lancer ruby : Avant https : cd /var/www/pia-back RAILS_SERVE_STATIC_FILES=true RAILS_ENV=production bin/rails s -d -e -b 127.0.0.1 -p 8080

Après https : Cette commande qui génère une erreur bin/rails s -e production -b 'ssl:/127.0.0.1:8443?key=/etc/letsencrypt/live/pia-back.mon-site.be/privkey.pem&cert=/etc/letsencrypt/live/pia-back.mon-site.be/fullchain.pem'

.rbenv/versions/3.1.4/lib/ruby/gems/3.1.0/gems/puma-4.3.12/lib/puma/binder.rb:229:in `initialize': getaddrinfo: Temporary failure in name resolution (SocketError)

Cette commande ne génère pas d’erreur RAILS_SERVE_STATIC_FILES=true RAILS_ENV=production bin/rails s -d -e -b 'ssl:/127.0.0.1:8443?key=/etc/letsencrypt/live/pia-back.mon-site.be/privkey.pem&cert=/etc/letsencrypt/live/pia-back.mon-site.be/fullchain.pem'

Mais le site ne répond pas sur le port 8443.

Pourriez-vous m’aider ?

Information de déploiement :

Je vous en remercie d’avance,

Cordialement

kevin-atnos commented 1 year ago

Bonjour,

Je vous remercie pour vos explications détaillées. Je vais faire le point en interne avec l'équipe et vous fait un retour dès que possible.

Merci à vous, bonne journée.

Bien cordialement,

David-EQSo commented 1 year ago

Bonjour,

La date prévue pour la mise en place du site de gestion des PIA approche à grands pas. Est-ce que l’erreur décrite ci-dessous ne viendrai pas simplement de la commande utilisée pour démarrer le service ? Ou, une autre hypothèse … l’utilisation des scripts Certbot pour activer la connexion SSL a peut-être modifié quelque chose à la configuration qui pourrait générer ce type d’erreur.

J’imagine ne pas être le seul à avoir activé le chiffrement. Je suis preneur de tout conseil, toute expérience qui pourrait m’aider à solutionner le problème.

Bonne journée,

Cordialement,

brunto commented 12 months ago

Je pense qu'il serait préférable de lancer l'application en utilisant un serveur web comme nginx ou apache, ce serait plus simple pour gérer le certificat. Vous avez la documentation ici: https://github.com/LINCnil/pia-back/wiki/Installer-l'application-PIA-BACK Et ensuite cette documentation pour certbot: https://certbot.eff.org/instructions

David-EQSo commented 11 months ago

Bonjour,

Le site pia-back semblait être fonctionnel vu le bon fonctionnement de la page Web. Mais, en analysant les erreurs apache2, on peut constater un problème de lancement de Phusion Passenger :

[Wed Aug 30 08:34:28.033251 2023] [mpm_event:notice] [pid 945:tid 140335272810368] AH00489: Apache/2.4.52 (Ubuntu) Phusion_Passenger/6.0.18 OpenSSL/3.0.2 configured -- resuming normal operations
[Wed Aug 30 08:34:28.033267 2023] [core:notice] [pid 945:tid 140335272810368] AH00094: Command line: '/usr/sbin/apache2'
[Wed Aug 30 08:34:44.782462 2023] [mpm_event:notice] [pid 945:tid 140335272810368] AH00494: SIGHUP received.  Attempting to restart

L’erreur est lié à la librairie libcrypto.so.1.1

root@ubuntu22:/var/log/apache2# tail -f error.log
[Wed Aug 30 08:34:28.013390 2023] [mpm_event:notice] [pid 945:tid 140335272810368] AH00493: SIGUSR1 received.  Doing graceful restart
PassengerAgent: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory

J’ai pu corriger le problème en suivant les indications ci dessous.

https://stackoverflow.com/questions/72133316/libssl-so-1-1-cannot-open-shared-object-file-no-such-file-or-directory

wget http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.19_amd64.deb

sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2.19_amd64.deb

Suivi d’un redémarrage d’apache :

apachectl restart

Tout est maintenant pleinement fonctionnel.

Merci beaucoup pour votre aide.