it-swarm-ja.com

NGINXリバースプロキシからIP電源スイッチへ

私は次の設定をしています:

  • Raspberry PiのリバースプロキシとしてのNGINXセットアップ(その唯一の目的)
  • -リバースプロキシは、LAN上の他のIPや、単一のWindowsデスクトップ上のサービスへの複数のポートに最適です。

リバースプロキシにアクセスできないLANデバイスが1つしかないという問題があります。リモートIP電源スイッチ(3GStore)です

IP電源スイッチ内のDNSホストエントリは「アウトレット」であるため、LAN内でhttp://Outletに移動するとインターフェイスが表示され、代わりにIPを入力してEnterキーを押すと、同じページが読み込まれ、アドレスバーに次のように表示されます。ローカルIPアドレス192.168.0.xxx/index.asp

iP電源スイッチもポート80にあるため、ポートが問題である可能性があると考え、代わりに9080に変更しました。

これは、NGINX内で作成した構成ファイル内にあるブロックです(これは、リバースプロキシされた残りのデバイス/サービスでは機能するようですが、ISこのIP電源スイッチでは機能しません)

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 NotFoundエラーが発生します

任意の提案をいただければ幸いです!

1
Chris

構成には2つの障害があります。

  1. IP電源スイッチのサイトはリダイレクトされているため、外部からは利用できません。

  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;
  }
}

rewriteproxy_passを編集し、proxy_redirectを追加しました。

1
unNamed

はい、ローカル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電源スイッチのインターフェイスをLANにローカルにロードします...しかし、外部からmy.domain.com/powerswitchをプルアップすると、ページが機能していないことが示されます(アドレスバーにローカルIPが表示されます:192.168.0.xxx/index.asp;携帯電話/ Wi-Fiオフでテスト済み)

0
Chris