tl;dr
Am încercat să configurez nginx pentru a redirecționa o conexiune TCP peste 6690 către Synology Drive. Dar la utilizare asculta 6690 ssl;
Synology Drive Client nu poate găsi NAS-ul și când îl folosește asculta 6690;
(fără SSL) NAS este găsit, dar certificatul său nesemnat este utilizat în locul certificatului stocat cu nginx. Aveți idee cum să activați SSL și să utilizați un proxy invers nginx cu Synology Drive?
Introducere
Am găsit deja câteva postări/întrebări care explică cum să configurați o conexiune SSL la un Synology NAS folosind nginx ca proxy invers pe un computer separat. Astfel, atunci când accesez (https://)my-domain.com, pot (deja) să accesez site-ul meu de setări Synology Drive (adică DSM-ul accesibil prin portul 5000/5001). Cu toate acestea, vreau să configurez și Synology Drive pentru a utiliza același certificat SSL de la Let's Encrypt, dar aici întâmpin dificultăți la configurarea nginx.
Întrebare
Deci, vreau doar să fie configurat Synology Drive și am configurat DNS-ul drive.my-domain.com pentru a ajunge la routerul meu.De asemenea, am achiziționat un certificat SSL pentru acest domeniu și am ajustat portul HTTPS Synology Drive la 10003. În routerul meu, am redirecționat porturile 80, 443 și 6690 către proxy-ul meu invers, așa cum este recomandat. Aici. Pentru nginx, am configurat /etc/nginx/conf.d/synology.conf
:
includ /etc/letsencrypt/options-ssl-nginx.conf;
Server {
asculta 80;
nume_server drive.domeniul-meu.com server_implicit;
# Pentru verificarea Let's Encrypt
locație ^~ /.cunoscut {
permite tuturor;
root /data/letsencrypt/;
}
}
Server {
asculta 80;
asculta 443 ssl;
nume_server drive.my-domain.com;
Locație / {
proxy_set_header Gazdă $gazdă;
proxy_set_header X-Real_IP $adresă_la distanță;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $schema;
proxy_pass https://<IP-OF-SYNOLOGY-NAS>:10003;
proxy_read_timeout 90;
}
ssl_certificate /etc/letsencrypt/live/drive.my-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/drive.my-domain.com/privkey.pem;
includ /etc/letsencrypt/options-ssl-nginx.conf;
dacă ($schemă != "https") {
returnează 301 https://$host$request_uri;
}
}
În plus, am adăugat următoarea linie la /etc/nginx/nginx.conf
:
...
includ /etc/nginx/fallthrough.conf;
Și /etc/nginx/fallthrough.conf
conține următoarele:
curent {
amonte synology_drive {
server <IP-OF-SYNOLOGY-NAS>:6690;
}
Server {
asculta 6690 ssl;
proxy_pass synology_drive;
ssl_certificate /etc/letsencrypt/live/drive.my-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/drive.my-domain.com/privkey.pem;
}
}
Cu toate acestea, atunci când încercați să configurați Synology Drive Client, acesta nu poate conecta/găsește Synology NAS. La schimbarea /etc/nginx/fallthrough.conf
să nu folosească SSL, adică:
curent {
amonte synology_drive {
server <IP-OF-SYNOLOGY-NAS>:6690;
}
Server {
asculta 6690;
proxy_pass synology_drive;
}
}
Este găsit Synology NAS, dar este folosit certificatul autosemnat stocat pe NAS, în locul certificatului de la Let's Encrypt stocat pe computerul proxy invers.
Stie cineva ce sunt sau poate gresesc aici?