Accessing synology DSM behind nginx reverse proxy
10,388
I managed to get it working, not sure why
- Only port 443 somehow reacted
- It was all white before until I c/ced all the header from location / to location for image caching.
upstream nas {
server 192.168.0.123:443;
}
server {
listen 80;
return 302 https://$server_name$request_uri;
}
server {
server_name nas.my.domain;
listen 443 ssl http2;
# listen [::]:443 ssl http2;
access_log /var/log/nginx/nas.access.log;
error_log /var/log/nginx/nas.error.log;
ssl_certificate /etc/letsencrypt/live/nas.my.domain/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/nas.my.domain/privkey.pem;
include /etc/nginx/include/diffie-hellman;
client_max_body_size 2m;
location ~* \.(?:ico|css|js|gif|jpe?g|png|ttf|woff|)$ {
access_log off;
expires 30d;
add_header Pragma public;
add_header Cache-Control "public, mustrevalidate, proxy-revalidate";
proxy_set_header HOST $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-NginX-Proxy true;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_pass https://nas;
proxy_redirect off;
proxy_buffering off;
}
location / {
proxy_set_header HOST $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-NginX-Proxy true;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_pass https://nas;
proxy_redirect off;
proxy_buffering off;
}
}
Related videos on Youtube
Author by
Rémy
I'm a french sysadmin / DevOps / SRE, working full remote from France.
Updated on September 18, 2022Comments
-
Rémy almost 2 years
I'm trying to access my synology nas web ui behind a nginx reverse proxy running on my raspberry. Nginx reverse proxy is working for other stuff, like my ghost blog. I copy/pasted the settings to access my nas's 192.168.0.123:5000 via nas.my.domain, but I got a "Synology / Sorry, page not found" instead of DSM's login prompt.
Here is my nginx's settings
upstream nas { server 192.168.0.123:5001; # server 192.168.0.123:5000; KO # server 192.168.0.123; KO } server { listen 80; return 302 https://$server_name$request_uri; } server { server_name nas.my.domain; listen 443 ssl http2; # listen [::]:443 ssl http2; access_log /var/log/nginx/nas.access.log; error_log /var/log/nginx/nas.error.log; ssl_certificate /etc/letsencrypt/live/nas.my.domain/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/nas.my.domain/privkey.pem; include /etc/nginx/include/diffie-hellman; client_max_body_size 2m; location ~* \.(?:ico|css|js|gif|jpe?g|png|ttf|woff|)$ { access_log off; expires 30d; add_header Pragma public; add_header Cache-Control "public, mustrevalidate, proxy-revalidate"; proxy_pass https://nas; } location / { proxy_set_header HOST $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-NginX-Proxy true; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_pass https://nas; proxy_redirect off; proxy_buffering off; } }
And inside the nas I set up Control Panel / External Access / Advanced with nas.my.domain http = 80 and https = 443.
Any ideas please to fix or troubleshoot this ?
Best regards,
-
Admin over 7 yearsTried 5000 5001 80 and 443 already, both with
proxy_pass http://nas
andproxy_pass https://nas
. Whenever using the wrong combinations, there's a specific error message.
-