リバースプロキシと URL ベース
セットアップ
リバースプロキシの後ろで、HolyArrs を https://home.example/holyarrs のようなアドレスに置きます。
リバースプロキシは、アプリの手前に置く Web サーバーで、アドレスごとに正しいコンテナへ振り分けます。URL ベースは、HolyArrs を置くパスです。
パスを設定する
パスを設定する へのリンク-
compose ファイルにパスを追加します。
services:holyarrs:environment:- HOLYARRS_URL_BASE=/holyarrs -
コンテナを再起動します。
-
プロキシの例からプロキシのルールを追加します。
-
https://home.example/holyarrs/を開きます。サインインページが表示されます。Settings > This app に、使用中のパスが表示されます。
オプション
オプション へのリンクパスを設定する場所
パスを設定する場所 へのリンク| 場所 | 反映されるタイミング |
|---|---|
HOLYARRS_URL_BASE |
起動時。ほかの設定より優先されます。 |
-url-base /holyarrs フラグ |
起動時。変数が設定されていない場合。 |
| Settings > This app | 次回の起動時。変数とフラグがどちらも設定されていない場合だけ。 |
プロキシの例
プロキシの例 へのリンクnginx-proxy-manager. ドメイン用のプロキシホストを作成し、カスタムロケーションを追加します。
- Location:
/holyarrs - Forward hostname は
holyarrs、ポートは6262。末尾にスラッシュを付けないでください。付けるとパスが取り除かれます。 - そのロケーションの歯車のボックスに、次を入力します。
proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_buffering off;proxy_read_timeout 1h;Traefik. StripPrefix ミドルウェアは追加しないでください。
labels: - traefik.enable=true - traefik.http.routers.holyarrs.rule=Host(`home.example`) && PathPrefix(`/holyarrs`) - traefik.http.services.holyarrs.loadbalancer.server.port=6262Caddy. handle を使います。handle_path はパスを取り除きます。
home.example { handle /holyarrs* { reverse_proxy holyarrs:6262 { flush_interval -1 } }}ホスト名とプロキシのアドレス
ホスト名とプロキシのアドレス へのリンク- HolyArrs にホスト名でアクセスする場合は、そのホスト名を
HOLYARRS_ALLOWED_HOSTSに追加します。 - プロキシが
X-Forwarded-Forを付ける場合は、プロキシのアドレスをHOLYARRS_TRUSTED_PROXIESに追加します。追加しないと、サインインのときに、誰が自宅のネットワークにいるのかを判別できません。
うまくいかないとき
うまくいかないとき へのリンク| 症状 | 原因 | 対処 |
|---|---|---|
| どのページも not found になる | プロキシがパスを取り除いている | パスを取り除く設定、または末尾のスラッシュを削除します。 |
| ライブ更新が届かない | プロキシが応答をバッファリングしている | バッファリングをオフにします(proxy_buffering off、flush_interval -1)。 |
| 保存したパスのせいで入れなくなった | 保存したパスが間違っている | HOLYARRS_URL_BASE=/ を付けて起動し、保存したパスを無視させます。 |
| サインインでネットワークの外にいると判定される | プロキシが信頼されていない | X-Real-IP と X-Forwarded-For を送り、HOLYARRS_TRUSTED_PROXIES を設定します。 |
ほかの対処: トラブルシューティング。
上級者向け
上級者向け へのリンクパスのルール
- 使える文字: 英字、数字、
-、_、.、/。..と//は使えません。 holyarrs、/holyarrs、/holyarrs/は、どれも/holyarrsを意味します。- 保存したパスが有効でない場合は、無視されます。
- すべてがそのパスの下に移ります。ページ、API、ライブ更新、サインイン、HolyArrs が作るリンク(招待リンク、カレンダーフィード)です。
/healthzと/readyzはルートでも応答するので、イメージ自体のヘルスチェックはそのまま動きます。- パスの外にあるそのほかのアドレスは、not found を返します。
プロキシに必要なこと
| 必要なこと | 理由 |
|---|---|
| パスを変えずに渡す | HolyArrs は完全なパスで振り分けます。 |
Host ヘッダーを保つ |
ホストの確認と、HolyArrs が作るリンクに使います。 |
| 応答をバッファリングしない | ライブ更新は、開いたままの 1 つの応答で流れます。 |
| 長い読み取りタイムアウト(1 時間) | ライブ更新のストリームは開いたままになります。 |
関連ページ
関連ページ へのリンクHolyArrs は無料です。時間の節約になったら、GitHub でスターを付ける、スポンサーになる、コーヒーをおごるのいずれかで応援してください。