我有以下虚拟主机条目
server {
listen 80;
server_name example.com www.example.com;
#access_log /var/log/nginx/nginx-access.log;
location /media/ {
root /home/luke/django/solentcms;
}
location /admin/media/ {
root /home/luke/virts/django1.25/lib/python2.7/site-packages/django/contrib/admin/media;
}
location / {
proxy_pass http://127.0.0.1:8001;
}
error_page 404 /404.html;
location = /404.html {
root /home/luke/django/solentcms/404;
allow all;
}
error_page 500 502 503 504 /500.html;
location = /500.html {
root /home/luke/django/solentcms/404;
allow all;
}
}
但是,404 和 50x 错误仍然被重定向到糟糕的 nginx 默认页面。您知道为什么吗?此语法在我的其他一台服务器上有效。
答案1
答案2
我怀疑这是由于配置文件中error_page
后面的几行造成的。该块将所有请求代理回端口 8001 上的任何内容。location /
尝试将它们放在server
块的较早位置,看看是否有效。