Dans le cadre du défi du mois nous souhaitons chiffrer nos requêtes en https. J’ai donc utiliser Certbot pour générer un certificat associé au nom de domaine utilisé. J’ai redirigé le nom de domaine vers l’adresse IP du serveur Vapor.
Maintenant je bloque sur la configuration de NGINX pour gérer le TLS.
Quelqu’un a t’il déjà mis en place le https sur son serveur Vapor?
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xe" for details.
systemctl status nginx.service :
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2021-03-07 18:22:09 UTC; 6min ago
Docs: man:nginx(8)
Process: 16267 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
Process: 15298 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 16361 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)
Main PID: 15301 (code=exited, status=0/SUCCESS)
Apparemment cela vient de ton fichier de conf. (La ligne ExecStartPre indique un problème de conf.)
Essaie de voir le journal avec la commande indiquée « journalctl -xe », en général ça précise le lancement et l’erreur possible.
D’après ce que je peux lire, certbot pose des soucis sur la configuration nginx, il est possible qu’une erreur ce soit glissée dedans.
Sinon, sur le thread suivant, il y a des pistes éventuelles :
Lance ton serveur sur le port 8081 et ca devrait rouler (je suis pas certain de la config Nginx je suis passé par apache moi car je l’utilisé déjà pour un site web et c’est ce serveur qui redirige sur une autre machine)
Ok tenez moi au courant , hésitez pas à me corriger sur la config notamment nginx ou j’ai écrit ça sans test
[EDIT]:
J’ai modifié mon premier post car il était erroné.
En gros le but n’est pas d’activé TLS dans le service web mais de le gérer par Nginx. Donc on laisse tourner notre service web en http sur un port choisi dans l’exemple 8081. Mais dans Nginx on écoute sur le port 443 et de la on lui donne nos certificats pour qu’il gère le ssl. Et ensuite on transmet les requêtes via proxy sur le http en port 8081.
PS: Cela marche aussi avec Apache2 si vous êtes plus à l’aise avec mais Vapor nous conseil Nginx
[EDIT] : Donc si j’ai bien compris ton fichier de conf, on laisse en http et non en https au niveau du proxy_pass? La connexion entre le service et le proxy est en HTTP, mais la connexion publique avec le serveur est en HTTPS ? C’est ça ?
Exactement, sur le serveur lui même entre Nginx et le webservice la connextion se fera en http par contre pour le client pour se connecter à Nginx cela se fera en https =)