Phusion Passenger + Apache 2 + Rails 3. Funciona en la red local, no cuando se accede desde el exterior

El problema:

He creado un esqueleto de proyecto Rails usando rails new TestApp en la /var/www/ directorio de mi servidor. El index.html predeterminado de Rails se muestra y funciona correctamente (es decir, ve el logotipo de Rails y cuando hace clic en "Acerca del entorno de su aplicación" obtiene una lista correcta de las especificaciones del entorno utilizadas en el servidor) cuando accedo al sitio desde el misma red en la que se ejecuta el servidor. Sin embargo, si accedo al sitio desde una máquina en una red diferente a la del servidor, la página se muestra pero no obtengo la imagen del logotipo de Rails, y al hacer clic en "Acerca del entorno de su aplicación" se muestra el siguiente error en la página:

Not Found
The requested URL /TestApp/rails/info/properties was not found on this server

Y esa URL no debería encontrarse, porque no existe. Sin embargo, TestApp/public/rails/info/properties existe.

Configuración:

El sitio reside en /var/www/TestApp y accedo desde un Sub-URI. He creado un enlace simbólico en /var/www/ , que son rails como sigue: rails -> /var/www/TestApp/public, de modo que se puede acceder al proyecto desde www.mydomain.com/rails. Mi configuración de Apache es la siguiente, tenga en cuenta que he omitido, cambiado o acortado algunas partes dentro del <VirtualHost> etiqueta por brevedad:

LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12/ex$
PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12
PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p194/ruby

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName www.mydomain.com
    DocumentRoot /var/www
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>
    .
    .
    .
    #Rails Configuration

    RailsBaseURI /rails
    RailsEnv development
    PassengerUserSwitching off
    PassengerDefaultUser www-data
    <Directory /TestApp/public>
            Options FollowSymLinks -MultiViews
            AllowOverride All
            Allow from all
    </Directory>

    #End Rails Configuration
    .
    .
    .
</VirtualHost>

Un par de cosas: la las carpetas apropiadas son propiedad by www-data con los permisos apropiados según se define en la documentación del Pasajero. Al configurar el enlace simbólico y RailsBaseURI configuración Seguí la documentación del Pasajero.

Supongo que estoy perdido aquí ya que todo parece estar funcionando al acceder al sitio web desde la misma red en la que reside el servidor. No estoy seguro de por qué las cosas no funcionan cuando se accede al sitio desde una red diferente, pero siento que las rutas a ciertos recursos/activos (como el logotipo de Rails) no se resuelven correctamente. ¿Quizás mi enlace simbólico está configurado de manera inapropiada, o algo está mal con mi configuración de Apache?

Cualquier ayuda sería apreciada.

preguntado el 03 de mayo de 12 a las 14:05

¿Dónde pusiste el enlace simbólico 'rails'? -

Lo siento. estaba en /var/www/. Actualizaré la pregunta original en consecuencia. -

1 Respuestas

El problema de una página de Rails predeterminada algo rota es no totalmente anormal, resulta.

Eliminé la página predeterminada de Rails y la reemplacé con otra página que incluía algo de código de Rails y todo funcionó a la perfección.

contestado el 07 de mayo de 12 a las 03:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.