0

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>

何がうまくいかないのか、何が欠けているのかについて何か考えはありますか?

4

1 に答える 1