文件时间与ERR_INVALID_HTTP_RESPONSE

1 篇文章 0 订阅
文章描述了一名技术专家在处理前端反馈的Nginx服务器访问问题时,发现注释掉跨域配置后能访问但无法传递参数。问题在于服务器上的静态页面和JS文件的时间戳设置在1929年,而非系统支持的1970年,导致无响应。解决方案是修正这些文件的时间戳使其正常。
摘要由CSDN通过智能技术生成

起因

前端反馈说两套环境一套访问正常,一套访问无响应
登陆两台服务器检查发现

  • 两台机器的iptables和selinux都是关闭状态
  • 两台nginx的配置文件字节大小都是一致的,文件内容对比发现一致
  • 访问地址所指向的html文件字节大小和文件内容比对发现一致
  • nginx的日志文件输出正常,无报错,访问url也是200状态码
  • 浏览器F12选项也无异常,只是请求连接无响应

浏览器显示

排查

  • 两台机器都是我配置的,系统环境和软件环境都一致
    Nginx的配置文件,机器A B的配置一样,机器A访问无响应,机器B访问正常
server {
    # fe push static files at this folder
    listen 9911;
    server_name localhost;

    gzip on;
    #gzip_vary on;
    gzip_proxied any;
    gzip_disable "msie6";
    gzip_min_length 1k;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;
    #gzip_static on;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/bmp image/svg+xml image/jpeg image/x-icon;

    #FTP上传文件下载访问
    location / {
      alias /opt/public/file/;
      # autoindex on;
      add_header 'Access-Control-Allow-Origin' '*';
      add_header 'Access-Control-Allow-Credentials' 'true';
      add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
      add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
    }
  }
}

情况一

发现如果注释掉机器A的nginx跨域配置,发现可以访问html 但是不能传递参数

server {
    # fe push static files at this folder
    listen 9911;
    server_name localhost;

    gzip on;
    #gzip_vary on;
    gzip_proxied any;
    gzip_disable "msie6";
    gzip_min_length 1k;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;
    #gzip_static on;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/bmp image/svg+xml image/jpeg image/x-icon;

    #FTP上传文件下载访问
    location / {
      alias /opt/public/file/;
      # autoindex on;
      #add_header 'Access-Control-Allow-Origin' '*';
      #add_header 'Access-Control-Allow-Credentials' 'true';
      #add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
      #add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
    }
  }
}

问题解决
  • 经过层层排查 发现URL访问路径的静态页面和JS文件的Modify和Change时间是1929年,应该是测试或者开发人员本地电脑调整过时间 将文件上传到服务器
[root@VM_OUT_101 ~]# stat install.log
  File: "install.log"
  Size: 13231     	Blocks: 32         IO Block: 4096   普通文件
Device: fd00h/64768d	Inode: 392450      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-07-06 11:11:13.417000002 +0800
Modify: 1929-07-06 11:13:36.890999991 +0800
Change: 1929-07-06 11:13:39.479999991 +0800
  • 解决问题时没有截图,上面是我手动更改的时间
  • 而Linux系统最早支持时间是1970年,该文件的时间戳系统服务无法读取,导致无响应
  • 在时间正常的服务器上手动更改下文件,让文件的时间戳成为正常时间即可
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值