1

У меня есть следующие настройки:

  • Настройка NGINX в качестве обратного прокси на Raspberry Pi (его единственная цель)
  • обратный прокси отлично работает для других IP-адресов в локальной сети, а также для нескольких портов для служб на одном рабочем столе Windows

У меня проблема только с одним устройством локальной сети, но я не могу получить обратный прокси. Это удаленный выключатель питания IP (3GStore)

Запись узла DNS в коммутаторе питания IP имеет значение "Outlet", поэтому в локальной сети перейдите по http://Outlet вызвать интерфейс, и если вы вместо этого наберете IP и нажмете, введите ту же страницу, и адресная строка заполнится локальный IP-адрес 192.168.0.xxx/index.asp

думая, что порт IP Power Switch мог быть проблемой, так как он также находится на порту 80, я изменил его на 9080 вместо

это блок, который у меня есть в файле конфигурации, который я создал в NGINX (кажется, что он работает для остальных моих устройств / сервисов с обратным прокси-сервером, но НЕ работает для этого IP Power Switch)

server {
    listen 80;
    server_name mydomaincom;
    location /powerswitch/ {
        proxy_pass http://192.168.0.xxx:9080/;
        include /etc/nginx/proxy_params;
    }
}

Переход к mydomaincom/powerswitch приводит к ошибке NGINX 404 Not Found

Любые предложения будут ценны!

2 ответа2

1

Ваш конфиг имеет две ошибки:

  1. Сайт вашего IP Power Switch перенаправляет и, следовательно, не доступен извне.

  2. Вы перенаправляете запросы в неправильную позицию для вашего устройства.

Попробуйте этот конфиг:

server {
  listen 80;
  server_name my.domain.com;
  location /powerswitch/ {
    rewrite /powerswitch(/.*) $1 break;
    proxy_redirect / /powerswitch/;
    proxy_pass http://192.168.0.xxx;
  }
}

Я отредактировал rewrite , proxy_pass и добавил proxy_redirect .

0

да, переход на локальный IP-адрес и порт работает ... перенаправляет на http://192.168.0.xxx/index.asp

С тех пор я переключаю порт обратно с 9080 обратно на 80

дальше методом проб и ошибок, и я получил его на работу (?наполовину?) с этой записью:

server {
     listen 80;
     server_name my.domain.com;
     location /powerswitch/ {
         rewrite /powerswitch/(.*) /$1 break;
         proxy_pass http://192.168.0.xxx/powerswitch/;
         }
}

Так что теперь my.domain.com/powerswitch загружает интерфейс IP Power Switch локально в локальной сети ...НО, внешне подтягивая my.domain.com/powerswitch утверждает, что страница не работает (показывает локальный IP в адресной строке: 192.168.0.xxx/index.asp; проверено на телефоне сотовой связи / Wi-Fi выключен)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .