mod_proxy возвращает пустую страницу для приложения rails 3.1 с пассажиром - PullRequest
2 голосов
/ 01 ноября 2011

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

  1. У меня есть пассажир apache2 +, работающий с несколькими приложениями (php + rails)
  2. Я установил rvm, чтобы использовать разные наборы гемов и (главная причина) использовать ruby ​​1.8.7 и ruby ​​1.9.2 в зависимости от приложения -> это прекрасно работает!

Хорошо, теперь я хотел показать эти приложения и обнаружил, что мне нужно настроить пассажира по-другому. Хорошая новость: старые приложения работают (1.8.7), новое приложение (1.9.2) не работает. так я и сделал ...

  1. установить mod_proxy для маршрутизации запроса на сервер пассажира, работающий на 127.0.0.1:3000 -> также хорошие новости: это работает

НО ....

Даже журналы приложения rails показывают, что приложения отображаются без ошибок при каждом запросе, на странице отображается только тип документа.

еще более странно: когда у меня была ошибка конфигурации в моем Gemfile, была показана правильная ошибка пассажира.

Так что я немного застрял здесь.

Моя конфигурация прокси-сервера довольно проста:

    <IfModule mod_proxy.c>
    #turning ProxyRequests on and allowing proxying from all may allow
    #spammers to use your proxy to send email.

    ProxyRequests Off
    <Proxy *>
            AddDefaultCharset off
            Order deny,allow
            Allow from all
            Allow from 127.0.0.1
    </Proxy>

    # Enable/disable the handling of HTTP/1.1 "Via:" headers.
    # ("Full" adds the server version; "Block" removes all outgoing Via: headers)
    # Set to one of: Off | On | Full | Block

    ProxyVia On
    </IfModule>

виртуальный хост:

    <VirtualHost *:80>
    ServerName myapp.host.com
    DocumentRoot /var/www/myapp/public

    PassengerEnabled off
    ProxyPass / http://127.0.0.1:3000/
    ProxyPassReverse / http://127.0.0.1:3000/
    ProxyPreserveHost on
    <Directory /var/www/myapp>
            Options FollowSymLinks
            AllowOverride All
            Order Deny,Allow
            Allow from all
    </Directory>

    </VirtualHost>

если вам нужна дополнительная информация, чтобы помочь мне решить эту проблему, пожалуйста, дайте мне знать!

спасибо за ЛЮБОЙ намек: /

/ редактировать / funfact: header обслуживает сервер: nginx / 1.0.6 + Phusion Passenger 3.0.9 (mod_rails / mod_rack), хотя nginx не установлен на этом сервере ...

...