Рейтинг:0

Nginx — Обратный прокси-сервер, обслуживающий ScreenConnect, не добавляет подкаталог в начало

флаг cn

Я запускаю незащищенный веб-интерфейс ScreenConnect на компьютере в своей локальной сети. Я хотел бы обслуживать его через порт 443, используя обратный прокси-сервер nginx, и получать к нему доступ через:
https://<WAN.IP.АДРЕС>/screenconnect

Мой блок местоположения nginx.conf:

            место расположения / {
            корень /www/var/nginx/html
            }

            местоположение /скринконнект/ {
            proxy_pass http://local.screenconnect.server:8040/;
            прокси_буферизация выключена;
            proxy_set_header Хост $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $ схема;
            }

Мне удалось получить доступ к веб-интерфейсу Screen Connect, и URL-адрес выглядит как
https://<WAN.IP.АДРЕС>/screenconnect/

Однако любые дополнительные подкаталоги, к которым я обращаюсь, например https://<WAN.IP.АДРЕС>/screenconnect/login.php? сбросит /скринконнект/ подкаталог и попробуйте получить доступ https://<WAN.IP.АДРЕС>/login.php?
Это выдает мне ошибку 404.

Вещи, которые я пробовал

  • я вставил /скринконнект/ к https://<WAN.IP.АДРЕС>/login.php?/ и получил https://<WAN.IP.АДРЕС>/screenconnect/login.php?, что дает мне нужный мне сайт.
  • Я изменил файл web.config на своем сервере screenconnect и добавил правильный каталог:
    <add key="WebServerAddressableUri" value="https://WAN.IP.ADDRESS:443/screenconnect/" />
  • Я попытался удалить / в конце proxy_pass http://local.screenconnect.server:8040/; и местоположение /скринконнект/
  • Я также пробовал множество различных простых директив для блокировки местоположения от людей, у которых были связанные проблемы.
  • Я заменил IP-адрес сервера screenconnect на сервер Apache, работающий на порту 80, который имеет простую html-страницу, которая перенаправляется во вложенную папку. При перенаправлении каталог /screenconnect/ добавляется правильно.
djdomi avatar
флаг za
Я считаю, что приложение делает это из-за промаха или неправильной конфигурации. Я не знаком с переписыванием nginx, но у него может быть шанс
Ivan Shatsky avatar
флаг gr
Как правило, это задание ScreenConnect (или любого вышестоящего веб-приложения) для создания его ссылок, включая правильный префикс URI. Единственная доступная информация по этому вопросу, которую я нашел до сих пор, это [о] (https://kimconnect.com/screenconnect-and-nginx/) параметр `WebServerAddressableUri`, который вы уже безуспешно пытались настроить; к сожалению, похоже, что форумы поддержки уже мертвы. Вы можете проверить [Как правильно обрабатывать относительные URL-адреса с помощью обратного прокси-сервера nginx] (https://serverfault.com/questions/932628/how-to-handle-relative-urls-correctly-with-a-nginx-reverse- прокси) поток ServerFault.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.