0

誰かが私を助けてくれることを願っています:)

プレックス リダイレクト用に HAProxy を構成しようとしましたが、まだ解決策が見つかりませんでした。したがって、基本的にプレックスのホームページを実行するには、IPADRESS:PORT/web/index.html にリダイレクトする => IPADRESS:PORT/web に移動する必要があります。

私はこの種のリダイレクトを行いました:

use_backend plex if { hdr_beg(Host) -i plex. }

backend plex
    server plex localhost:32400 check

これで問題ありません。プレックスに参加できます => plex.mydomain.tld/web

しかし、この URL => plex.mydomain.tld でプレックスに参加できるようにしたいと考えています。

この行を追加しようとしました:

reqrep ^([^\ :]*)\ /(.*)     \1\ /web\2

変更しても問題ありません。私の URL は => plex.mydomain.tld/web/index.html に切り替わります

しかし、私は404エラーを持っています...

plex.mydomain.tld からプレックスにアクセスするには、どのようなトリックを行う必要がありますか?

ありがとう !

4

3 に答える 3

1

残念ながら、ここでの問題は、HAProxy 構成とは何の関係もありません。代わりに、問題を引き起こしているのは Plex です。

あなたの設定では、plex.mydomain.tldHAProxy に移動すると が追加さ/webれ、その結果、Plex は次の URL を取得しますplex.mydomain.tld/web。これは正しいですが、Plex はブラウザを に転送しplex.mydomain.tld/web/index.htmlます。しかし、ブラウザがリクエストまたはその URL を送信すると、HAProxy が介入してそのエクストラ/webを再度追加し、Plex に設定された結果の URL がplex.mydomain.tld/web/web/index.html存在しないため、404 エラーが発生します。

うまくいくplex.mydomain.tld/index.htmlかもしれませんが、そのページから他のページへのすべてのリンクは、言う問題のために機能しないと思います。

これを解決するには、

  1. Plex の構成を調べて、.xml なしで実行できるかどうかを確認します/web
  2. hereからインスピレーションを得て、HAProxy を次のように構成できます。

    frontend http
        mode http
        bind *:80
    
        acl plex hdr_beg(Host) -i plex.
        acl root_dir path_reg ^$|^/$
        acl no_plex_header req.hdr_cnt(X-Plex-Device-Name) -i 0
    
        redirect location http://plex.mydomain.tld/web/index.html 301 if no_plex_header root_dir plex
        use_backend plex if plex
    
    backend plex
        server plex localhost:32400 check
    

    主な違いは、ヘッダーが設定されていない場合redirect locationにリダイレクトする行/です。ヘッダーを確認する必要があるのは、プレックスが別の目的で使用しているように見えるためです。/web/index.htmlX-Plex-Device-Name/

    注: この構成は一例であり、私はこれをまったくテストしていません。

それが役立つことを願っています。

于 2016-01-22T06:09:04.457 に答える