Обратный прокси-сервер NGINX для IP Power Swith

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

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

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

Запись узла DNS в коммутаторе IP-сети - это "Выход", поэтому в локальной сети перейдите к 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 ответа

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

  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,

Да , переход на локальный 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; проверил на телефоне сотовый /wifi выключен)

Другие вопросы по тегам