ロードバランサの後ろにWildflyがあり、それらの間の接続は常にHTTPです。クライアントとロードバランサ間の接続には、HTTPまたはHTTPSを使用できます。HTTPをHTTPSにリダイレクトするためのundertow-handlers.confのルール
ロードバランサは、クライアントが使用しているプロトコルをWildflyに知らせるためのヘッダー(X-Forwarded-Proto)を設定します。
上記のすべての条件を考慮して、HTTPSにリダイレクトするためのアンダースコアルールを作成しようとしています。
これは私のより多くの成功した試行(このルールは引き-handlers.confファイルに書き込まれ、それがそのファイル内の唯一のことだ)のうちの1つである:「
正規表現(/(.* ) ')と 正規表現(パターン=' HTTP」、値= '%{I、Xフォワード・プロト}'、フルマッチ=真) - > リダイレクト(https://server.com/ $ {1})
クライアントが次のようなURLにアクセスしようとしたときhttp://server.com/m yappはhttps://server.comにリダイレクトされますが、パス/myappはありません。
完全パスを維持するためにアンダートールールを修正するにはどうすればよいですか?
リダイレクトを適用するためにこのワイルドフールルール(Undertowに書かれています)を実際に知っていませんが、あなたの質問を読んでいる間に私の心に来たものを推測したいと思います: "regex( '/(.*) ')」は、「相対パス」のみと一致すると想定されているか、URL全体(たとえば「http://server.com/some_endpoint」)と一致するはずですか? – Miere
これは相対パスにのみ一致し、他のシナリオでも使用していますしかし、これは2正規表現条件で述語を使うのは初めてですが、それが問題になるかどうかは分かりません。 –