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

Обслуживание Rails через Apache с помощью ProxyPass

У меня есть рабочее приложение rails, которое я хочу обслуживать через другое доменное имя. Поэтому я изменил VirtualHost, добавив его как ServerAlias:

<VirtualHost *:80>
        DocumentRoot /home/my/app/public
        ServerName long_server_name.com
        ServerAlias short_name.com
        RewriteEngine On

        ProxyRequests Off
        ProxyPass / http://localhost:3000/
        ProxyPassReverse / http://localhost:3000/
        ProxyPreserveHost on   

         <Proxy *>
          Order deny,allow
          Allow from all
        </Proxy>
</VirtualHost> 

Но по какой-то странной причине, когда я захожу на short_name.com, я получаю тестовую страницу Fedora.

Я могу найти документы в / public, если перейду к ним напрямую (например, short_name.com/somepage.html). Но запросы не обрабатываются Rails. Переход по корневому пути должен перенаправлять на логин (по рельсам).

Любые идеи? Как я могу отладить то, что происходит?

(Возможное несвязанное предостережение: 'short_name.com' - это URL-адрес, который арендуется у кого-то другого, поскольку он является владельцем.)

Исходя из того, что вы почти наверняка работаете над той же проблемой, что и в прошлый раз, и, похоже, не работали над большинством проблем, связанных с этим, я повторю свое предыдущий совет:

Похоже, они проксируют. Вы можете проверить это, зайдя на сайт и посмотрев на исходный IP-адрес - если он ваш, значит, они не проксируют, они что-то делают. действительно странно, иначе исходный IP-адрес должен быть IP-адресом их прокси-сервера. Я могу предположить, что их прокси, вероятно, делает с настройкой всевозможные неприятные вещи - если Host Например, заголовок, отправляемый их прокси-сервером, не является тем, что вы ожидаете, тогда это, естественно, вызовет проблемы. Я всегда записываю предоставленное имя виртуального хоста в свои журналы «виртуального хоста по умолчанию» именно по этой причине - оно показывает мне, откуда люди могут атаковать меня.

Что касается настройки, я бы сильно рекомендую заставить их изменить DNS так, чтобы он указывал на ваш сервер напрямую. То, что вы «арендуете» домен, не имеет значения; DNS по-прежнему можно правильно управлять. Единственный раз, когда проксирование имеет смысл, это если они перенаправляют вам только часть сайта и обслуживают другой контент в том же домене локально.