Apache mod_proxy на другой сервер

Apache mod_proxy на другой сервер

Я использую proxy_balancer в Apache2 для проксирования запросов к приложению Rails на мой сервер rails на порту, на котором запущено приложение. Вот как это настроено...

Рельс-сервер Mongrel работает на порту 8000, при прямом доступе к URL-адресуhttp://rails_server:8000сайт загружается нормально

Apache-сервер Файл конфигурации для сайта:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName myserver.com
    ServerAlias application.myserver.com

    <Proxy balancer://application_cluster>
            Allow from localhost
            BalancerMember http://ip.to.server:8000 retry=10
    </Proxy>

    ProxyPass / balancer://application_cluster
</VirtualHost>

Проблема, с которой я столкнулся, заключается в том, чтоhttp://rails_server:8000работает отлично, но собираюсьhttp://application.myserver.comЗагружает правильный контент, но отображает весь HTML как текст, а не как HTML

решение1

Попробуйте добавить

ProxyPassReverse / балансировщик://application_cluster

как сказал Иниго в своем комментарии. Чуть ниже ProxyPass.

(ух ты, только что понял, что я опоздал с этим постом больше чем на год, это «вопрос без ответа», но я сомневаюсь, что автор когда-нибудь вернется)

решение2

Я бы проверил тип контента, возвращаемый рассматриваемыми URL. Похоже, что один передает "text/html", а другой "text/plain" ... возможно, в конфигурации прокси вам нужно frob некоторые настройки типа контента.

Связанный контент