Modifications pour le document Reverse proxy
Modifié par john le 2026/09/20 20:01
Résumé
-
Propriétés de la Page (1 modifications, 0 ajouts, 0 suppressions)
Détails
- Propriétés de la Page
-
- Contenu
-
... ... @@ -32,6 +32,7 @@ 32 32 - <APPDATA>/swag/config/crowdsec/ban.html:/var/lib/crowdsec/lua/templates/ban.html:ro 33 33 - /var/run/docker.sock:/var/run/docker.sock:ro 34 34 - /var/log:/var/log/host:ro 35 + - <APPDATA>/Nextcloud/Data:/var/log/nextcloud-data:ro 35 35 networks: [proxy] 36 36 restart: unless-stopped 37 37 security_opt: ... ... @@ -104,22 +104,80 @@ 104 104 105 105 SWAG recharge nginx automatiquement quand un proxy-conf change. 106 106 107 -== CrowdSec ==108 +== Exemple de proxy-conf écrit à la main : Dawarich == 108 108 109 -{{code language="bash"}} 110 -docker exec crowdsec cscli metrics # activité et journaux analysés 111 -docker exec crowdsec cscli decisions list # IP bloquées 112 -docker exec crowdsec cscli decisions delete --ip <IP> # débloquer une IP 113 -docker exec crowdsec cscli alerts list # dernières alertes 114 -docker exec crowdsec cscli bouncers list # le bouncer SWAG doit apparaître 115 -docker exec crowdsec cscli hub update && docker exec crowdsec cscli hub upgrade 116 -{{/code}} 110 +SWAG ne fournit pas de modèle pour Dawarich. Fichier ##<APPDATA>/swag/config/nginx/proxy-confs/dawarich.subdomain.conf## : 117 117 118 -Générer une nouvelle clé pour le bouncer SWAG, à reporter dans ##CROWDSEC_API_KEY## : 112 +{{code language="nginx"}} 113 +server { 114 + listen 443 ssl; 115 + listen [::]:443 ssl; 119 119 120 -{{code language="bash"}} 121 -docker exec crowdsec cscli bouncers add swag-bouncer 117 + server_name dawarich.*; 118 + 119 + include /config/nginx/ssl.conf; 120 + 121 + client_max_body_size 0; 122 + 123 + #include /config/nginx/authelia-server.conf; 124 + 125 + location / { 126 + #include /config/nginx/authelia-location.conf; 127 + 128 + include /config/nginx/proxy.conf; 129 + include /config/nginx/resolver.conf; 130 + set $upstream_app dawarich_app; 131 + set $upstream_port 3000; 132 + set $upstream_proto http; 133 + proxy_pass $upstream_proto://$upstream_app:$upstream_port; 134 + } 135 + 136 + location /cable { 137 + include /config/nginx/proxy.conf; 138 + include /config/nginx/resolver.conf; 139 + set $upstream_app dawarich_app; 140 + set $upstream_port 3000; 141 + set $upstream_proto http; 142 + proxy_pass $upstream_proto://$upstream_app:$upstream_port; 143 + } 144 + 145 + location /api { 146 + include /config/nginx/proxy.conf; 147 + include /config/nginx/resolver.conf; 148 + set $upstream_app dawarich_app; 149 + set $upstream_port 3000; 150 + set $upstream_proto http; 151 + proxy_pass $upstream_proto://$upstream_app:$upstream_port; 152 + 153 + proxy_buffer_size 16k; 154 + proxy_busy_buffers_size 32k; 155 + } 156 +} 122 122 {{/code}} 123 123 159 +|=Élément|=Rôle 160 +|##server_name dawarich.*##|Sous-domaine, quel que soit le domaine principal 161 +|##ssl.conf##|Certificat wildcard et réglages TLS de SWAG 162 +|##client_max_body_size 0##|Pas de limite de taille : les imports d'historique dépassent largement la limite par défaut de nginx 163 +|##resolver.conf## et ##set $upstream_app##|Résolution du nom du conteneur au moment de la requête : nginx démarre même si Dawarich est arrêté 164 +|##location /cable##|Connexion WebSocket (Action Cable) pour les mises à jour en direct ; les en-têtes nécessaires sont déjà dans ##proxy.conf## 165 +|##location /api##|API des applications de suivi, avec des tampons agrandis pour les réponses volumineuses 166 + 167 +=== Protéger un service par Authelia === 168 + 169 +Il faut décommenter **les deux** lignes : 170 + 171 +* ##include /config/nginx/authelia-server.conf;## dans le bloc ##server## : déclare l'échange avec Authelia ; 172 +* ##include /config/nginx/authelia-location.conf;## dans chaque ##location## à protéger. 173 + 174 +Une ##location## sans cette seconde ligne reste accessible sans Authelia : c'est ainsi qu'on laisse une API ouverte aux applications mobiles tout en protégeant l'interface. 175 + 176 +Ici, les deux lignes sont commentées : Dawarich n'est protégé que par son propre identifiant. 177 + 178 +== CrowdSec == 179 + 180 +Voir la page [[CrowdSec>>Wiki Batcave John.Infrastructure.ServeurPrincipal.CrowdSec.WebHome]]. 181 + 124 124 == Authelia == 183 + 125 125 Voir la page [[Authelia>>Wiki Batcave John.Infrastructure.ServeurPrincipal.Authelia.WebHome]].