web-dev-qa-db-ja.com

ApacheはAuthorizationヘッダーを削除します

Apacheは、私のセットアップではリバースプロキシとして機能しています。ポート8081で実行されているアプリケーションサーバーには、有効なAuthorizationヘッダーが必要です。ヘッダーはクライアントアプリケーションによって設定されます。 Apacheはこのヘッダーを削除しているようです。ポート8081でサーバーに到達しません。

<VirtualHost mydomain.com:443>
    ServerName mydomain.com
    ServerAlias www.mydomain.com

    <Proxy *>
            Order deny,allow
            Allow from all
    </Proxy>

    SSLEngine On
    SSLCertificateFile /etc/Apache2/ssl/Apache.pem

    ProxyPreserveHost On
    ProxyRequests Off
    ProxyPass / http://mydomain.com:8081/
    ProxyPassReverse / http://mydomain.com:8081/
</VirtualHost>

ポート8081のサーバーが正しく機能していることを確認するために、その構成にRequestHeader set Authorization "Basic XZY"を追加しました。この場合、ヘッダーはポート8081のサーバーによって正しく処理されます。

また、クライアントから直接ポート8081でサーバーに接続して、クライアントが実際に正しいヘッダーを設定していることを確認しました。それもうまくいきました。

1
tobiasbayer

その理由は、バグのあるクライアントの実装であることが判明しました。

0
tobiasbayer

mod_proxy_http docs から:

proxy-chain-auth

プロキシが認証を必要とする場合、プロキシはクライアントから送信されたプロキシ認証資格情報を読み取って消費します。 proxy-chain-authを使用すると、資格情報がチェーン内の次のプロキシに転送されます。これは、認証情報を共有する一連のプロキシがある場合に必要になることがあります。 セキュリティ警告:機密情報を転送するため、必要であることがわかっている場合を除いて、これを設定しないでください!

これはあなたが探しているものですか?

2
fuero