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でサーバーに接続して、クライアントが実際に正しいヘッダーを設定していることを確認しました。それもうまくいきました。
その理由は、バグのあるクライアントの実装であることが判明しました。
proxy-chain-auth:
プロキシが認証を必要とする場合、プロキシはクライアントから送信されたプロキシ認証資格情報を読み取って消費します。 proxy-chain-authを使用すると、資格情報がチェーン内の次のプロキシに転送されます。これは、認証情報を共有する一連のプロキシがある場合に必要になることがあります。 セキュリティ警告:機密情報を転送するため、必要であることがわかっている場合を除いて、これを設定しないでください!
これはあなたが探しているものですか?