Acontece que o problema era essa diretiva do Apache:
UseCanonicalName On
Eu tenho um aplicativo ruby que é executado em um servidor com vários endereços IP e vários vhosts. Aqui está a configuração do host virtual problemático:
<VirtualHost 10.0.0.10:80>
ServerName realname.example.com
ServerAlias alias.example.com
DocumentRoot /var/www/sites/example/current/public
<Directory /var/www/sites/example/current/public>
AllowOverride all
Options -MultiViews
</Directory>
ErrorLog /var/log/httpd/example_error_log
CustomLog /var/log/httpd/example_access_log common
RailsEnv production
RackEnv production
</VirtualHost>
Quando eu puxar realname.example.com o aplicativo Ruby on Rails funciona corretamente.
Por outro lado, alias.example.com só me dá Not Found: /
Tenho certeza de que o vhost correto está sendo usado porque alias.example.com produz um 404 no arquivo de log correto.
Eu tentei adicionar o registro na configuração do Passenger e parece indicar que o Passenger está recebendo a solicitação.
Observação: não é possível redirecionar alias.example.com para realname.example.com. O nome real é acessado usando um CDN, enquanto o alias é acessado diretamente.
Alguém tem alguma ideia de por que isso não está funcionando? Eu tenho batido minha cabeça por dias e eu tenho uma configuração semelhante no controle de qualidade que funciona como esperado.