Closed JohnNiang closed 2 months ago
Docker
When we request a static resource which does not exist, internal server error will occur. IMO, in this situation, we should respond HTTP status code 404 instead of 500.
2024-07-16T19:33:43.291+08:00 ERROR 7 --- [parallel-1] a.w.r.e.AbstractErrorWebExceptionHandler : [f4b910e5-206548] 500 Server Error for HTTP GET "/themes/run.halo.official2/assets/favicons/favicon-32x32.png" java.io.FileNotFoundException: /root/.halo2/themes/run.halo.official2/templates/assets/favicons/favicon-32x32.png at org.springframework.core.io.FileSystemResource.lastModified(FileSystemResource.java:354) ~[spring-core-6.1.10.jar:6.1.10] Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: Error has been observed at the following site(s): *__checkpoint ⇢ run.halo.app.security.InitializeRedirectionWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ run.halo.app.security.device.DeviceSessionFilter [DefaultWebFilterChain] *__checkpoint ⇢ AuthorizationWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ ExceptionTranslationWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ LogoutWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ ServerRequestCacheWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ SecurityContextServerWebExchangeWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ LogoutPageGeneratingWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ AnonymousAuthenticationWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ SecurityWebFilterChainProxy [DefaultWebFilterChain] *__checkpoint ⇢ TotpAuthenticationFilter [DefaultWebFilterChain] *__checkpoint ⇢ AuthenticationWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ SecurityWebFilterChainProxy [DefaultWebFilterChain] *__checkpoint ⇢ RememberMeAuthenticationFilter [DefaultWebFilterChain] *__checkpoint ⇢ SecurityWebFilterChainProxy [DefaultWebFilterChain] *__checkpoint ⇢ AuthenticationWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ AuthenticationWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ ReactorContextWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ CsrfWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ CorsWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ HttpHeaderWriterWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ ServerWebExchangeReactorContextWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ org.springframework.security.web.server.WebFilterChainProxy [DefaultWebFilterChain] *__checkpoint ⇢ run.halo.seo.tools.AdvancedRedirectWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ run.halo.comment.widget.captcha.CommentCaptchaFilter [DefaultWebFilterChain] *__checkpoint ⇢ run.halo.oauth.Oauth2Authenticator [DefaultWebFilterChain] *__checkpoint ⇢ run.halo.seo.tools.CrawlRecordFilter [DefaultWebFilterChain] *__checkpoint ⇢ run.halo.oauth.Oauth2AuthorizationRequestRedirectWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ run.halo.app.webfilter.AdditionalWebFilterChainProxy [DefaultWebFilterChain] *__checkpoint ⇢ HTTP GET "/themes/run.halo.official2/assets/favicons/favicon-32x32.png" [ExceptionHandlingWebHandler] Original Stack Trace: at org.springframework.core.io.FileSystemResource.lastModified(FileSystemResource.java:354) ~[spring-core-6.1.10.jar:6.1.10] at org.springframework.web.reactive.resource.ResourceWebHandler.lambda$handle$2(ResourceWebHandler.java:449) ~[spring-webflux-6.1.10.jar:6.1.10]
/kind bug /area core
/assign /milestone 2.18.x
System information
What is the project operation method?
Docker
What happened?
When we request a static resource which does not exist, internal server error will occur. IMO, in this situation, we should respond HTTP status code 404 instead of 500.
Relevant log output
Additional information
/kind bug /area core