Configurer l'auth HTTP (Alpine Linux)
Pour configurer l’authentification HTTP de base sur Nginx sous Alpine Linux, voici les étapes à suivre :
Étape 1 : Installer htpasswd
Sur Alpine Linux, le paquet apache2-utils fournit l’outil htpasswd. Installe-le avec apk :
sudo apk add apache2-utilsÉtape 2 : Créer un fichier de mot de passe
Utilise htpasswd pour créer un fichier de mot de passe. Remplace username par le nom d’utilisateur que tu veux utiliser :
sudo htpasswd -c /etc/nginx/.htpasswd usernameIl te demandera de saisir et confirmer le mot de passe pour l’utilisateur.
Étape 3 : Configurer Nginx pour utiliser l’authentification HTTP de base
Modifie la configuration de ton site Nginx pour inclure l’authentification HTTP de base. Par exemple, si la configuration de ton site se trouve dans /etc/nginx/conf.d/default.conf, ouvre ce fichier avec un éditeur de texte :
sudo nano /etc/nginx/conf.d/default.confAjoute les lignes suivantes dans le bloc server ou location approprié pour ton site :
server { listen 80; server_name example.com;
location / { auth_basic "Restricted Content"; auth_basic_user_file /etc/nginx/.htpasswd;
# Autres configurations de ton site proxy_pass http://localhost:3000; # Par exemple, si tu utilises un proxy vers une application Node.js }}Étape 4 : Redémarrer Nginx
Après avoir modifié la configuration, redémarre Nginx pour appliquer les changements :
sudo rc-service nginx restartMaintenant, lorsque tu accèdes à ton site, il te sera demandé de saisir un nom d’utilisateur et un mot de passe avant de pouvoir accéder au contenu.
Exemple complet de configuration Nginx
Voici un exemple complet de configuration Nginx avec authentification HTTP de base :
server { listen 80; server_name example.com;
location / { auth_basic "Restricted Content"; auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://localhost:3000; proxy_set_header Host $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; }
# Optionnel : Rediriger HTTP vers HTTPS listen 443 ssl; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;}N’oublie pas de remplacer example.com par ton propre nom de domaine et de configurer les chemins corrects pour les certificats SSL si tu utilises HTTPS.