我有nginx下一个配置:
http {
...
server {
listen 80;
server_name localhost;
# Only allow these request methods
if ($request_method !~ ^(GET|HEAD|POST)$ ) {
return 444;
}
location / {
proxy_cache cache;
proxy_cache_valid 10m;
proxy_cache_valid 404 1m;
proxy_pass http://localhost:8888/;
proxy_redirect off;
proxy_buffering off;
proxy_read_timeout 150;
proxy_connect_timeout 300;
proxy_intercept_errors on;
if (-f /usr/share/nginx/closed) {
return 503;
}
....
}
...
}
现在我需要包含css和js的自定义错误页面,我可以这样做
error_page 404 /404.html;
location /404.html {
root /usr/share/nginx/html;
}
这是有效的,但我无法提供404.css和404.js作为示例,我只能看到404.html。
我发现这个案例是为错误页面提供css和js:
error_page 500 502 503 @error_page;
location @error_page {
root /var/nginx/app/htdocs;
internal;
}
但出于某种原因,这对我不起作用。如何使用css和js服务自定义错误页面?
答案 0 :(得分:0)
我认为托比是对的。您将要设置/ static / location(或类似)来提供静态文件,并且应该位于包含proxy_pass的根位置之外。然后你的错误页面应该引用静态资产的正确URL(即/static/404.css)。您的404.css和404.js将像任何其他资产一样被提供。
server {
listen 80;
...
location /static/ {
alias /path/to/htdocs/static/;
access_log off;
}
location / {
....
}
}