Новое развертывание Rails + Passenger наполовину работает ... не знаете почему? - PullRequest
0 голосов
/ 18 июня 2010

Я нахожусь на заключительных этапах обхода в течение всего цикла Rails: разработка -> тестирование -> производство (на внешнем сервере). Я очень близок ... но вижу некоторые ошибки с рабочей версией и недостаточно знаю о "магии" Rails, чтобы устранить ее еще ...

это работает: www.mydomain.com/rails и возвращает представление моего приложения

но это: www.mydomain.com/rails/ возвращает (полностью):

<html>
<body>
Index from public
</body>
</html>

Откуда это?!! Я исключил Apache. поскольку Apache не возвращает такой вид HTML в качестве индекса каталога ...

Добавлено: VirtualHost (за запрос):

<VirtualHost *:80>
    ServerName www.mydomain.com
    ServerAdmin admin@mydomain.com
    DocumentRoot "/Library/WebServer/mydomainweb"
    DirectoryIndex "index.html" "index.php"
    CustomLog "/var/log/apache2/access_log" "%h %l %u %t \"%r\" %>s %b"
    ErrorLog "/var/log/apache2/error_log"
    ErrorDocument 404 /error.html
    <IfModule mod_ssl.c>
        SSLEngine Off
        SSLCertificateFile "/etc/certificates/Default.crt"
        SSLCertificateKeyFile "/etc/certificates/Default.key"
        SSLCipherSuite "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:!SSLv2:+EXP:+eNULL"
    </IfModule>
    <IfModule mod_dav.c>
        DAVLockDB "/var/run/davlocks/.davlock100"
        DAVMinTimeout 600
    </IfModule>
    <IfModule mod_mem_cache.c>
        CacheEnable mem /
        MCacheSize 4096
    </IfModule>
    <Directory "/Library/WebServer/mydomainweb">
        AllowOverride None
        <IfModule mod_dav.c>
            DAV On
        </IfModule>
        Options All -Includes -ExecCGI +MultiViews -Indexes
    </Directory>
    RailsBaseURI /rails
    <Directory /Library/WebServer/rails/myapp/public>
        Options -MultiViews -Indexes
    </Directory>
    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{REQUEST_METHOD} ^TRACE
        RewriteRule .* - [F]
    </IfModule>
    <IfModule mod_proxy_balancer.c>
        <Proxy "balancer://balancer-group">
        </Proxy>
    </IfModule>
    <IfModule mod_alias.c>
        Alias "/collaboration" "/usr/share/collaboration"
        Alias "/icons/" "/usr/share/httpd/icons/"
        Alias "/error/" "/usr/share/httpd/error/"
        Redirect temp "/zapp.html" "/index.html"
    </IfModule>
    Include /etc/apache2/httpd_groups.conf
    Include /etc/apache2/httpd_teams_required.conf
    LogLevel warn
    ServerAlias mydomain.com
    ServerAlias images.mydomain.com
</VirtualHost>

Ответы [ 2 ]

0 голосов
/ 18 июня 2010

Во втором случае, работает ли он, если вы делаетес вашими маршрутами.

0 голосов
/ 18 июня 2010

Я предполагаю, что в apache включен просмотр каталогов, и пассажир перенаправляет этот запрос в общую папку, которая, в свою очередь, собирается напрямую работать с apache.

Вы можете попробовать

  1. Отключение просмотра каталогов путем отключения параметров индексов (без учета индексов)
  2. Возможно, вы явно перехватываете в своем файле rout.rb маршрут к этому пути и направляете его туда, куда хотите.
...