Salut
Voici comment j'ai procédé sur mon QNAP alors que QTS n'avait pas de reverse proxy.
Je voulais pouvoir avoir :
nas.nomdedomaine pour accéder à mon NAS
bit.nomdedomaine pour accéder à Bitwarden.
ui.nomdedomaine pour accéder à mon interface Unifi
Limiter les accès à ui.nomdedomaine uniquement depuis mon réseau interne.
C'est parti :
0. J'ai crée une connexion au NAS en interne sur le port 669
1. J'ai installé Bitwarden via ligne de code. Il contient un reverse proxy nginx. Je l'ai configuré pour que l'application puisse être accessible sur bit.nomdedomaine.
2. J'ai aussi modifié sa configuration de telle façon qu'à chaque mise à jour, les modifications faites sur la configuration du reverse proxy ne saute pas.
Fichier config.yml, modification : generate_nginx_config: false
3. Ensuite, j'ai modifié le fichier default.conf du répertoire nginx avec ajout des lignes juste avant celles de configuration :
include /etc/ssl/nomdedomaine/nas.nomdedomaine;
include /etc/ssl/nomdedomaine/ui.nomdedomaine;
4. Je crée le dossier nomdedomaine dans le répertoire ssl ainsi que les fichiers de redirection qui contiennent par exemple pour le NAS :
Code:
upstream NASServer {
server 192.168.1.90:669;
}
server {
listen 8443 ssl http2;
listen [::]:8443 ssl http2;
server_name nas.nomdedomaine;
include /etc/ssl/nomdedomaine/ssl.conf;
large_client_header_buffers 4 8k;
location / {
proxy_bind $server_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass https://NASServer;
proxy_redirect off;
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_hide_header Upgrade;
proxy_read_timeout 36000s;
}
}
Pour Bitwarden : c'est celui est généré par défaut.
5. J'ai modifié le fichier Access.conf du répertoire nomdedomaine en ajoutant ces lignes :
Code:
# allow anyone in 192.168.1.0/24
allow 192.168.1.0/24;
# drop rest of the world
deny all;
Mon fichier ui.nomdedomaine ressemble à :
Code:
server {
listen 8443 ssl http2;
listen [::]:8443 ssl http2;
server_name ui.nomdedomaine;
include /etc/ssl/nomdedomaine/ssl.conf;
location / {
proxy_pass "https://192.168.1.1";
include /etc/ssl/nomdedomaine/access.conf;
#include /etc/nginx/ssl/security-headers-ssl.conf;
#include /etc/nginx/ssl/security-headers.conf;
#add_header Content-Security-Policy "default-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https://haveibeenpwned.com https://www.gravatar.com; child-src 'self' https://*.duosecurity.com; frame-src 'self' https://*.duosecurity.com; connect-src 'self' wss://*.nomdedomaine https://api.pwnedpasswords.com https://twofactorauth.org; object-src 'self' blob:;";
#add_header X-Frame-Options SAMEORIGIN;
#add_header X-Robots-Tag "noindex, nofollow";
#proxy_http_version 1.1;
#proxy_buffering off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
#proxy_set_header Host $host;
#proxy_set_header X-Real-IP $remote_addr;
#proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
}
}
6. J'ai ensuite redirigé tout le traffic sur le port 443 vers le serveur NAS.
Et voilà !