我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

nginx代理其它服务端脚本的时候,可能会显示404错误。那么,一定是请求的文件不存在么?不一定哦。这也可能是脚本请求超时。本文就对这种特殊的404的情况进行讨论和分析。

苏南大叔:nginx显示404,文件不一定不存在,也可能脚本请求超时 - nginx-404-脚本超时
nginx显示404,文件不一定不存在,也可能脚本请求超时(图5-1)

苏南大叔的“程序如此灵动”博客,记录苏南大叔的编程经验文章。本文测试环境:win10php@8.2.11ntsnginx@1.15.11

文件不存在404

php,请求的不存在文件,截图:

苏南大叔:nginx显示404,文件不一定不存在,也可能脚本请求超时 - php-www-404
nginx显示404,文件不一定不存在,也可能脚本请求超时(图5-2)

nginx代理php,请求不存在的文件,截图:

苏南大叔:nginx显示404,文件不一定不存在,也可能脚本请求超时 - nginx-404
nginx显示404,文件不一定不存在,也可能脚本请求超时(图5-3)

请求超时404

定义一个长期运行的php文件:

set_time_limit(0);
while(true){
    echo date("H:i:s")."<br/>";
    sleep(3);
}

两种方式请求文件,截图:

苏南大叔:nginx显示404,文件不一定不存在,也可能脚本请求超时 - 模拟脚本超时
nginx显示404,文件不一定不存在,也可能脚本请求超时(图5-4)

自定义404

nginx可以自定义404页面,配置如下:

location / {
  error_page 404 403 500 502 503 504   /error/404.html
}

或者:

location / {
  error_page 404 /error/404.html;
}
这里仅能处理静态文件的404,对于php脚本的404,并不能正确处理。

苏南大叔:nginx显示404,文件不一定不存在,也可能脚本请求超时 - 自定义404页面
nginx显示404,文件不一定不存在,也可能脚本请求超时(图5-5)

相关文章

网络代理请求本地网站,显示404的情况,也可以从本文的角度进行解释。

结语

本文描述的是个特殊的404的情况,正常情况下,并不需要本文的nginx设置。更多nginx经验文章,请点击:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   nginx