Сломал всю голову о задачку, которая должна решаться тривиально, но не решается у меня никак:
Есть внешний сервер с работающим Nginx (example.com). Есть несколько удаленных объектов в WB. От объектов прокинуты по 2 ssh туннеля до внешнего сервера (для http и для MQTT).
Хочется при обращении по URL https://example.com/wirenboard1 попадать на web-интерфейс первого удаленного объекта, а при обращении к https://example.com/wirenboard2 – к web-интерфейсу второго и т.д.
начал писать конфиг и выяснил, что куча всего в web-интерфейсе использует абсолютные пути и сломал всю голову с правилами переписывания результатов:
` location /wirenboard1 {
proxy_set_header Accept-Encoding ""; # Выключаем сжатие
sub_filter_types *; # Переписываем все возможные результаты
sub_filter_once off; # Переписываем результаты много раз
sub_filter 'url(/' 'url(/wirenboard1/'; # Правило для переписывания CSS
sub_filter "'/" "'/wirenboard1/"; # Правило для переписывания '/
sub_filter '"/' '"/wirenboard1/'; # Правило для переписывания "/
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:7000/;
# proxy_redirect /mqtt ws://127.0.0.1/7100; # До MQTT даже не доходит....
}`
Этот набор правил явно переписывает сильно больше чем надо, так как в консоли появляется ругань от JS а на экране ничего не появляется, но у меня не хватает знаний и идей как это исправить
Может кто-то сталкивался с такой задачей и у него есть готовое регшение? Или кто то умеет Nginx по-настоящему?