Настройка passenger для ruby on rails и 404.

den.jmpr nginx-forum at nginx.us
Tue Dec 11 11:56:55 UTC 2012


Я совсем новичок как в nginx, так и в passenger и в ruby on rails. Хотел бы
спросить, можно так настроить, чтобы при не нахождении адреса в routes
(rails), nginx показывал мне страницу 404.html, именно nginx, а не rails.

Я сделал вот так, но почему-то не работает:
1. В routes.rb указал последним вот такое правило:
match '*a', :to => 'errors#routing'.
2. Создал контроллер errors_controller вот с таким вот содержимым:

class ErrorsController < ApplicationController
  def routing
   render :file => "#{Rails.root}/public/404.html", :status => 404, :layout
=> false
  end
end

3. В nginx.conf указал следующее:

server {
        listen       80;
        server_name  localhost;
	proxy_intercept_errors on;
	
	location / {
		root /web/rubyOnRailsApps/helloworld/public;
		passenger_enabled on;
		rails_spawn_method smart;
		rails_env development;
		error_page 404 /web/static/html/404.html;
	}
    }

Показывает страницу ror, а не nginx.

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,233857,233857#msg-233857



Подробная информация о списке рассылки nginx-ru