开发者社区> 问答> 正文

nginx文件url64命名报404

问题概述:

  • nginx: 静态服务器
  • 文件名: java 原生的base64编码+url编码生成
  • 报了404

详情如下

  • 文件名
    • aGVtYQ%3D%3D.jpg
    • fox.jpg
    • text.txt

  • 同路径用普通txt&jpg文件,都可以访问

展开
收起
游客gw7sslorciezq 2020-10-14 10:14:32 1349 0
1 条回答
写回答
取消 提交回答
  • 近日服务器突然出现问题, 浏览器访问时返回”拒绝访问”错误. 首先检查了端口情况,

    netstat -ntulp |grep 80 1 发现80端口没有打开, 于是便重启nginx服务

    service nginx restart 1 此时再次查看发现80端口是开启了的, 然而访问时提示404错误.

    经确认服务器的nginx配置文件中设置的根目录和index文件均没有错误, 网站根目录下的确存在请求的文件.

    此时发现当请求html静态文件时可以正常响应, 请求PHP文件时返回404, 怀疑是php-fpm出了问题.

    因为nginx在处理PHP请求时会根据配置文件中定义的匹配规则将PHP请求转发给相应的fast-cgi(在此为php-fpm), 然后再由fast-cgi进行后续处理并返回结果给nginx

    #nginx.conf #some config.... location ~ .php$ {#This expression can match the php request. #Include config file "fastcgi_params" include /etc/nginx/fastcgi_params; #Enable fastcgi interception error log fastcgi_intercept_errors on; #Dispatch the php request to fastcgi fastcgi_pass 127.0.0.1:9000; } #come config.... 1 2 3 4 5 6 7 8 9 10 11 所以如果fast_cgi程序无法打开的话, nginx也会返回404错误.

    根据配置文件检查9000端口

    netstat -ntulp |grep 9000 1 发现9000端口没有开启, 重启php-fpm

    service php-fpm restart 1 问题解决.

    2021-02-24 09:13:22
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
《Nginx 代理系统常用手册》 立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手 立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册 立即下载