Ich bin neu in Rails und Nginx. Ich wurde gebeten, benutzerdefinierte Fehlerseiten zu unserer App hinzuzufügen. Ich habe auf dieser Site Anweisungen dazu gefunden, und meine benutzerdefinierten Fehlerseiten werden lokal gut wiedergegeben. Wenn ich auf die URL /no_such_page
gehe, sehe ich die entsprechende Seite. Wenn ich den Code zu unserem Test-Server ausgeführt wird nginx implementieren und die gleiche URL versuchen, sehe ich folgendes statt:Rails benutzerdefinierte Fehlerseiten werden nicht auf Nginx
500 Internal Server Error Wenn Sie der Administrator dieser Website sind, dann lesen Sie bitte die Log-Web-Anwendung Datei und/oder die Protokolldatei des Web-Servers, um herauszufinden, was wrong.` gingen
auf dem nginx-Server, wenn ich auf die uRL gehe \404
, dann kann ich meine Seite sehen, so dass ich weiß, dass es in Ordnung macht. Sowohl mein lokaler Rechner als auch der Server laufen unter der development
Umgebung.
Ich habe das hinzugefügt config\development.rb
:
config.consider_all_requests_local = false
config.exceptions_app = self.routes
Hier ist, was ich zu routes.rb
hinzugefügt:
%w(404 500).each do |code|
get code, to: "errors#show", :code => code, :via => :all
end
und meine errors_controller sieht wie folgt aus:
class ErrorsController < ApplicationController
def show
status_code = params[:code] || 500
render status_code.to_s
end
end
Weiß jemand, ob es etwas Besonderes gibt, das ich in meinem nginx co machen muss? nfig, damit das funktioniert?
Vielen Dank Matt! Ich glaube, ich war von der Tatsache überrascht, dass es lokal und nicht auf dem Server funktionierte, also machte ich Nginx verantwortlich. Ich habe meine Fehlerprotokolle in 'var/log/nginx' gefunden, was mich auf etwas aufmerksam machte, das ich übersehen hatte. Alles jetzt eingestellt. – zilla