Я использую Synology NAS с DSM 5.x. Наконец-то у меня есть рабочий обратный прокси-сервер nginx с другого сервера с приведенной ниже конфигурацией.
Что я не хочу, так это все места, если это возможно. Веб-интерфейс DSM использует каждый из приведенных ниже фрагментов URL как часть своего интерфейса. Там нет базы URL, и нет возможности добавить ее.
Мой вопрос - возможно ли в nginx с proxy_pass или proxy_redirect или переписать (или что-то еще), чтобы не нужно было перечислять все отдельные местоположения по отдельности? (Я пробовал десятки их комбинаций в течение нескольких дней, и мне так и не удалось заставить работать что-либо, кроме приведенного ниже.)
nginx.conf
http {
upstream dsm {
server 1.1.1.1:5000;
}
server {
location /dsm/ {
include proxy_headers;
proxy_pass http://dsm/;
}
location /scripts/ {
include proxy_headers;
proxy_pass http://dsm;
}
location /synoSDSjslib/ {
include proxy_headers;
proxy_pass http://dsm;
}
location /webapi/ {
include proxy_headers;
proxy_pass http://dsm;
}
location /webdefault/ {
include proxy_headers;
proxy_pass http://dsm;
}
location /webfm/ {
include proxy_headers;
proxy_pass http://dsm;
}
location /webman/ {
include proxy_headers;
proxy_pass http://dsm;
}
}
}
proxy_headers
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
Изменить: Позвольте мне уточнить - я пропустил несколько деталей. Я хотел бы, чтобы один адрес и порт с несколькими базовыми URL-адресами, которые могут достигать нескольких DSM без базовых URL-адресов, таких как /scripts & /webapi от столкновения / столкновения / слияния. Я знаю, что несколько адресов и портов возможны. То, что я ищу, если это возможно, это способ подключения ssh к серверу, обслуживающему nginx, с локальной переадресацией -L, переадресацией одного порта, чтобы я мог подключиться к нескольким DSM с помощью одного переадресованного порта ssh. Решение, которое у меня сейчас есть, работает, но только для одного DSM. Если я добавлю второй, они сталкиваются.