加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

nginx错误页面和内部指令无法按预期工作

发布时间:2020-12-13 21:11:02 所属栏目:Nginx 来源:网络整理
导读:我想设置我的nginx服务器以返回HTTP 50x状态代码的特定错误页面,并且我希望用户的直接请求(例如,http // mysite / internalerror)使该页面不可用. 为此,我正在使用nginx的内部指令,但我必须遗漏一些东西,因为当我将该指令放在my / internalerror位置时,nginx

我想设置我的nginx服务器以返回HTTP 50x状态代码的特定错误页面,并且我希望用户的直接请求(例如,http // mysite / internalerror)使该页面不可用.

为此,我正在使用nginx的内部指令,但我必须遗漏一些东西,因为当我将该指令放在my / internalerror位置时,nginx返回一个自定义404错误(这甚至不是我自己的404错误页面)页面崩溃.

总而言之,这里似乎发生了什么:

> GET / Home
> nginx将查询传递给Python
>我正在模拟应用程序错误以获取502错误代码
> nginx尝试从其error_page规则返回/ InternalError
>由于内部规则,它最终会回复到自定义404错误代码< - 为什么?文档说error_page指令不关注内部:http://wiki.nginx.org/HttpCoreModule#internal

这是来自nginx.conf的摘录,其中有一些注释要指出:

error_page  404 /NotFound;
error_page  500 502 503 504 =500 /InternalError; # HTTP 500 Error page declaration

location / {
    try_files /Maintenance.html $uri @pythonbackend;
}

location @pythonbackend {
    include uwsgi_params;
    uwsgi_pass unix:///tmp/uwsgi.sock;
}

location ~* .(py|pyc)${ # This internal location works OK and returns my own 404 error page
    internal;
}

location /__Maintenance.html { # This one also works fine
    internal;
}

location ~* /internalerror { # This one doesn't work and returns nginx's 404 error page when I trigger an error somewhere on my site
    internal;
}

非常感谢您的帮助!!

使用“?*”作为/ internalerror位置没有多大意义,普通位置会这样做.

你得到404因为/ InternalError文件丢失了.您是否打算从uwsgi后端提出此类请求?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读