ProxyPass ワーカーのホスト名が長すぎます。

ProxyPass ワーカーのホスト名が長すぎます。

HTTPd(EC2)とElastic Search Service(AWS)へのリバースプロキシがあり、私のリクエストをHttpdからElasticSearchサービスにリダイレクトしようとしています(Elasticsearchサービスは外部からアクセスできないため、単にURLを書き換えないでください)。

だから私のHttpd設定は次のようになります。

ProxyPass /elasticsearch/ https://MyelasticSearchLongUrl.es.amazonaws.com
ProxyPassReverse /elasticsearch/  https://MyelasticSearchLongUrl.es.amazonaws.com

しかし、問題は私のhttpdがエラーを生成することです。

ProxyPassの社員CPU名(MyelasticSearchLongUrl.es.amazonaws.com) 長すぎる httpd.service: 基本プロセスが終了しました。 code=exited, status=1/FAILURE Kill: プロセスが見つかりません。 "" httpd.service: 制御プロセスが終了しました。 code=exited status=1 Apache HTTP Server を起動できません。デバイスhttpd.serviceが障害状態になりました。 httpd.サービスが失敗しました。

httpd設定、特にURL制限長を変更する方法はありますか?

答え1

いいえ、2.4で導入されたワーカー名のハードコーディング制限は96文字です。持つそれに対するバグしかし、5年以上「NEW」状態にあったことを考えると、アップストリームでは気にしないようです。

あなたが言ったように、解決策はRewriteRule [P]代わりに使用することです。ローカルサービスファイル(Alias)とローカルサービスファイルが混在する複雑な設定の場合からに移動すると、実行順序が変わる可能性がありますRewriteRuleRedirectProxyPassRewriteRule

答え2

以前の答えとは異なり、このエラーはhttps://bz.apache.org/bugzilla/show_bug.cgi?id=53218OPで指定したホスト名ではなく、完全なワーカー名を表し、httpd v2.4.12から切り捨てることができます。

限られたワーカーのホスト名は異なるエラーであり、ここで扱います。https://bz.apache.org/bugzilla/show_bug.cgi?id=62085

2番目のバグが修正され、v2.4.30にバックポートされました。

Ubuntuで推奨される修正:https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1750356

答え3

ソースでコンパイルされたApache HTTPD 2.4.46を使用してCentos 7.4.1708でこの問題が発生し、yum updateを実行してオペレーティングシステムと関連パッケージを更新すると、Apacheを再コンパイルしなくても問題が解決することがわかりました。

関連情報