En UrlMappings.groovy
, configuré "500"(controller:'error', action:'error')
para que mi propio controlador de errores (y vista) se use.Cómo configurar grails para mostrar siempre su propia página de error en el estado 500
lo general, funciona, sin embargo, cuando he intentado la manipulación de la entrada de la solicitud (la presentación de un parámetro con un tamaño de 1 MB), que tiene un Tomcat genera página de error con estado HTTP 500.
Primero pensé que este error sólo se generó por Tomcat para que Grails no pudiera hacer nada al respecto, pero la Excepción es org.springframework.web.util.NestedServletException
(Excepción anidada java.lang.StackOverflowError
) y hay muchas org.codehaus.groovy.grails
Clases empaquetadas en el seguimiento de la pila.
Creo que mostrar esta excepción, incluido el seguimiento de la pila a atacantes potenciales, es peligroso, entonces, ¿cómo puedo configurar Grails para que siempre muestre mi propia página de error? ¿O solo es posible configurar eso en Tomcat?
Me gustaría probar la solución, pero cuando ejecuto "grails install-plugin myFolder/grails-error-pages-fix.zip" grails parece buscarlo en línea en lugar de usar la versión local. Y no está disponible a través del repositorio estándar ... solo está aquí en github: https://github.com/alkemist/grails-error-pages-fix ¿Alguna idea de cómo puedo instalarlo? –
Probablemente pueda descargar la fuente (el botón Descargar en la esquina superior derecha), extraerla, compilarla y luego instalar el complemento con la distribución distribuible. No puedo decir que haya instalado un plugin de Grails de Github, así que me temo que no soy el mejor para instruirlo. Pero tal vez alguien más pueda entrar. –
Lo tengo ahora usando "install-plugin http://download.github.com/alkemist-grails-error-pages-fix-303f215.zip". Pero el instalador falla al decir "¡No se encontró el descriptor plugin.xml!" (y realmente no está allí). Supongo que no es un plug-in real, sino que debe integrarse manualmente en el proyecto ... –