У меня следующая ситуация:
*. Sub.domain.com должен быть проксирован до * .domain.com, а хост должен быть сохранен, поэтому браузер по-прежнему использует * .sub.domain .com при серфинге по URL.
То, что у меня сейчас есть:
<VirtualHost *:80>
ServerName proxy.sub.domain.com
ServerAlias *.sub.domain.com
SetEnvIf Host "^([^.]*)\.sub\.domain\.com$" SUBDOMAIN=$1
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.+)\.sub.domain\.com$
RewriteRule ^/(.*)$ http://%{SUBDOMAIN}.domain.com/$1 [P]
ProxyPreserveHost On
ProxyPass / http://${SUBDOMAIN}.domain.com/$1
ProxyPassReverse / http://${SUBDOMAIN}.domain.com/$1
</VirtualHost>
Результат:
Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request
Reason: DNS lookup failure for: .domain.com
Так что кажется, что среда не правильная и переменная субдомена пуста или не передана правильно.