Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

108
Views
Nginx sirve la ruta de Rails como página predeterminada

Estoy tratando de servir una ruta específica de Rails para la página predeterminada de Nginx. Tengo una aplicación que permite a los usuarios crear sitios, pero el sitio solo está disponible bajo ciertas condiciones, por lo que hasta que se cumplan esas condiciones, no se crea el bloqueo del servidor Nginx para ese sitio, lo que significa que si intentan visitar su sitio usando su dominio terminan viendo la página predeterminada de Nginx (Bienvenido a Nginx).

Lo que estoy tratando de hacer es hacer que Nginx sirva una de las rutas de Rails para que sea un poco más fácil de usar y evitar preguntas de soporte innecesarias para aquellos que no leen las instrucciones (que son básicamente todas).

He estado probando diferentes configuraciones en el archivo de configuración predeterminado de Nginx, pero fue en vano, Nginx siempre termina sirviendo la página raíz de la aplicación Rails en lugar de la ruta específica que quiero (/ casi allí):

/etc/nginx/sitios-disponibles/predeterminado

 server { listen 80 default_server; listen [::]:80 default_server; root /var/www/railsapp/public; passenger_enabled on; rails_env production; index almost-there.html; server_name _; location / { index almost-there.html; } }

Tenga en cuenta que almost-there.html es una ruta de rieles, no un archivo html estático real.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

No uso este marco, pero probablemente necesite redirigir a los visitantes a /almost-there.html pero servir el /index.html como de costumbre.

Por ejemplo:

 index index.html; location = / { return 302 /almost-there.html; } location / { try_files $uri $uri/ /index.html; }

Alternativamente, para redirigir todas las rutas:

 index index.html; location / { try_files $uri $uri/ @redirect; } location @redirect { rewrite ^/almost-there\.html$ /index.html last; return 302 /almost-there.html; }
over 4 years ago · Santiago Trujillo Report

0

Entonces, lo que terminé haciendo fue eliminar el bloque de location por completo, así como la directiva index y, en su lugar, redirigir / a la ruta de Rails que quería mostrar:

 rewrite ^/$ /almost-there redirect;

Es importante tener en cuenta que este es un redireccionamiento temporal en lugar de uno permanente, ya que no queremos que los navegadores almacenen en caché este redireccionamiento para evitar problemas una vez que el sitio real esté listo para mostrarse.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!