server1 と server2 という 2 つの同一の仮想ホストが構成されているリバース プロキシとして機能する Apache サーバーがあります (以下を参照)。server1.mydomain.com を指す server2.mydomain.com の CNAME DNS レコードがあります。http:// server1 .mydomain.com/some/resource にアクセスすると、バックエンド サーバーは、 server2 .mydomain.comを含む X-Forwarded-Host ヘッダーを認識します。これはバグですか、それとも設定が間違っていますか?
ありがとう。
-b
私の仮想ホストは次のようになります。
非 SSL (SSL に書き換え)
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName server1.mydomain.com
ServerAlias server1
ServerSignature off
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName server2.mydomain.com
ServerAlias server2
ServerSignature off
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
SSL
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName server1.mydomain.com
ServerSignature off
DocumentRoot ...
<Directory ... />
Header edit Location ^http:(.*)$ https:$1
RequestHeader set X-Forwarded-Proto https
ProxyVia off
ProxyRequests Off
ProxyPreserveHost On
SSLProxyEngine On
ProxyPass / https://back-end.mydomin.com/
ProxyPassReverse / https://back-end.mydomain.com/
...
<VirtualHost>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName server2.mydomain.com
ServerSignature off
DocumentRoot ...
<Directory ... />
Header edit Location ^http:(.*)$ https:$1
RequestHeader set X-Forwarded-Proto https
ProxyVia off
ProxyRequests Off
ProxyPreserveHost On
SSLProxyEngine On
ProxyPass / https://back-end.mydomin.com/
ProxyPassReverse / https://back-end.mydomain.com/
...
<VirtualHost>