Apache http サーバーに送られ、Apache Tomcat 8.5.x サーバー (ここでは 192.168.1.77:80 として表されます) に転送される Web ソケット GET 要求があります。
mod_headers を使用して「アップグレード」ヘッダー値を設定しようとしています。
VirtualHost タグ内には、次と同等のものがあります。
<LocationMatch "/somewhere">
ProxyPass ws://192.168.1.77:80/socket
RequestHeader set Upgrade "myvalue"
</LocationMatch>
これは、私が期待するようには機能しません。このセットは Apache http には適用されているようですが、Apache Tomcat には適用されていないようです。
Apache http で%{Upgrade}iを LogFormat に追加すると、"Upgrade" ヘッダーが "myvalue" に設定されていることがわかります。
ただし、Tomcat ログで *%{Upgrade}i" を追加すると、RequestHeader の設定操作が有効にならず、Tomcat が元の GET 要求の "Upgrade" ヘッダーの元の値を記録することがわかります。
注:次のように「初期」引数を追加しようとしました:
<LocationMatch "/somewhere">
ProxyPass ws://192.168.1.77:80
RequestHeader set Upgrade "myvalue" early
</LocationMatch>
何がうまくいかないのか、何が欠けているのかについて何か考えはありますか?