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 username
Il 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.conf
Ajoute 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 restart
Maintenant, 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.