🕸 Tracim sur mon NAS, partie 3: Frontal Nginx
Introduction
Le service tracim tourne, mais n’est pas accessible. En effet, lors de la dernière configuration, nous avons opté pour l’accessibilité que localement sur la machine sur le port 7070. De plus, pour une raison de sécurité, il nous faut un accès en https.
Exemple de configuration nginx frontal pour l’image docker de tracim :
Voici un exemple de ce à quoi peut ressembler un reverse-proxy pour Tracim dans nginx, à noter quelques points :
- j’ai volontairement mis la configuration ssl utilisé
dans un fichier
common.conf
à part. - Vous devez bien évidemment ajuster la configuration dns comme il faut pour que votre nom de domaine pointe sur le serveur.
- j’ai activé http2 et l’ipv6 sur la partie
nginx-internet
, notez cependant que le canaltracim-nginx
est en http 1.1 sans ssl et que le buffering du proxy est désactivé, car il produit des dysfonctionnements (utilisation des SSE par Tracim).
/etc/nginx/site-available/tracim :
upstream tracim_local{
server 127.0.0.1:7070;
}
server {
listen 443 http2 ssl;
listen [::]:443 http2 ssl;
server_name mysuperwebsite.net;
include common.conf;
location / {
client_max_body_size 300M;
include proxy_params;
proxy_pass http://tracim_local;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_buffering off;
}
}
/etc/nginx/proxy_params:
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
Exemple minimal de /etc/nginx/common.conf
Pour la configuration Nginx du ssl, je vous conseille de la tester.
ssl_certificate /path/vers/moncertif/mysuperwebsite.net/fullchain.pem;
ssl_certificate_key /path/vers/moncertif/mysuperwebsite.net/key.pem;
## Je vous conseille de vous intéresser aux autres paramètrages de ssl de nginx
## ainsi qu'au HTTP Strict Transport Security
Pour la génération des certificats, une solution simple si vous n’avez pas de contrainte complexe est d’utiliser Let’s Encrypt en mode DNS. Je le conseille avec ACME.sh.
Activation et utilisation de tracim
Si tout est ok, vous pouvez maintenant activer votre reverse-proxy:
sudo ln -s /etc/nginx/sites-available/tracim /etc/nginx/sites-enabled/tracim
nginx -t
sudo systemctl nginx reload
Et voilà ! un Tracim fonctionnel via Nginx et Podman !