Passenger 和 ServerAlias 不合作

Passenger 和 ServerAlias 不合作

我有一个 ruby​​ 应用程序,它在具有多个 IP 地址和多个虚拟主机的服务器上运行。以下是有问题的虚拟主机的配置:

<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>

当我停下来的时候realname.example.comRuby on Rails 应用程序正常运行。

另一方面别名.example.com只是给我Not Found: /

我相当确定使用了正确的 vhost,因为 alias.example.com 在正确的日志文件中产生了 404。

我尝试将日志记录添加到 Passenger 配置中,它似乎表明 Passenger 正在收到请求。

注意:我无法将 alias.example.com 重定向到 realname.example.com。realname 是使用 CDN 访问的,而 alias 是直接访问的。

有人知道为什么这不起作用吗?我已经绞尽脑汁好几天了,我在 QA 中找到了类似的配置,它可以按预期工作。

答案1

事实证明问题出在这个 Apache 指令上:

UseCanonicalName On

相关内容