Назад | Перейти на главную страницу

Пассажир и сервер Алиас не сотрудничают

У меня есть приложение ruby, которое работает на сервере с несколькими IP-адресами и множеством vhosts. Вот конфигурация проблемного виртуального хоста:

<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.com приложение Ruby on Rails работает правильно.

С другой стороны alias.example.com просто дает мне Not Found: /

Я почти уверен, что используется правильный vhost, потому что alias.example.com создает 404 в правильном файле журнала.

Я пробовал добавить ведение журнала в конфигурацию Пассажира, и, похоже, это означает, что Пассажир получает запрос.

Примечание. Я не могу перенаправить alias.example.com на realname.example.com. Доступ к реальному имени осуществляется через CDN, а к псевдониму - напрямую.

У кого-нибудь есть идеи, почему это не работает? Я уже несколько дней бью головой, и у меня есть аналогичная конфигурация в QA, которая работает, как ожидалось.

Оказывается, проблема заключалась в этой директиве Apache:

UseCanonicalName On