`

http请求返回508问题总结

阅读更多
在测试过程中发现网页返回了508.


 
看到508的第一反应,就是loop detected了。又因为最近有升级过https,所以以为是https的问题呢
最后发现是508是我们运维通过lua脚本返回的值。哎,坑死人呀
 
运维是通过Nginx+lua来返回错误码和错误信息的


 
可以看出来没有设置ngx.say(res.content);
所以就会出现 508 Loop Deteced
 
造成我们找问题的麻烦
 
 
附录
使用Nginx+lua返回错误码并且返回自定义内容。
具体查看 https://github.com/openresty/lua-nginx-module/issues/60
写道
"When status >= 200 (ngx.HTTP_OK), it will interrupt the execution of
the current Lua thread and returns status code to nginx.

"When status == 0 (ngx.OK), it will quits the current phase handler
(or content handler if content_by_lua directives are used). "

So the following should work and quit the whole request, though quite
unintuitive:
ngx.status = 410
       ngx.say("this link has expired")
       ngx.exit(ngx.HTTP_OK)
   测试结果
 
写道
curl -v http://localhost:8090/blah.jpg
* About to connect() to localhost port 8090 (#0)
* Trying ::1... Connection refused
* Trying 127.0.0.1... connected
* Connected to localhost (127.0.0.1) port 8090 (#0)
> GET /blah.jpg HTTP/1.1
> User-Agent: curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.15 libssh2/1.2.5
> Host: localhost:8090
> Accept: */*
>
< HTTP/1.1 410 Gone
< Server: nginx/1.0.6
< Date: Wed, 14 Sep 2018 17:15:57 GMT
< Content-Type: image/jpeg
< Transfer-Encoding: chunked
< Connection: keep-alive
<
this link has expired
<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.0.6</center>
</body>
</html>
* Connection #0 to host localhost left intact
* Closing connection #0
 
 
 
  • 大小: 41.5 KB
  • 大小: 47.3 KB
分享到:
评论

相关推荐

    关于axios返回空对象的问题解决

    使用 axios 请求数据的时候,已经请求成功,返回的参数也正确。但打印出来的时候就变成了空对象。 分析原因: 返回的参数都是正确的,只是打印的时候有问题,所以是打印的代码有误 查了一下 axios 的官方文档,才...

    IOS HTTP请求的常见状态码总结

    IOS HTTP请求的常见状态码总结 1xx消息 这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。由于HTTP/1.0协议中没有定义任何1xx状态码,...

    解决nodejs中使用http请求返回值为html时乱码的问题

    今天用nodejs进行http请求时返回的数据是一个html文件,然后我还是按照以前解析json数据的方法。果不其然报错了:SyntaxError: Unexpected token in JSON at position 0 没办法,只好换一种方法,将接受到的Buffer...

    fiddle安装配置及抓取web和手机请求包方法V1.0.doc

    fiddle安装配置及抓取web和手机请求包方法总结 Fiddler是位于客户端和服务器端之间的代理,也是目前最常用的抓包工具之一 。它能够记录客户端和服务器之间的所有 请求,可以针对特定的请求,分析请求数据、设置断点...

    nodejs之get/post请求的几种方式小结

    最近一段时间在学习前端向服务器发送数据和请求数据,下面总结了一下向服务器发送请求用get和post的几种不同请求方式: 1.用form表单的方法: (1)get方法 前端代码: &lt;form action = /login method = GET&gt; ...

    iOS的HTTP请求和请求回执类用法小结

    NSURLRequest类中常用方法和属性总结: //通过类方法创建默认的请求对象 /* 通过这种方式创建的请求对象 默认使用NSURLRequestUseProtocolCachePolicy缓存逻辑 默认请求超时时限为60s */ + (instancetype)request...

    自己总结的面试问题1

    )摘要:1.DNS域名解析;2.建立TCP连接;3.发送HTTP请求;4.服务器处理HTTP请求;5.服务器返回HTTP请求响应结果;6.关闭TCP连接;7.浏

    从请求到响应过程中django都做了哪些处理

    最近面试的时候,被面试官问道一个问题,就是 request.user 里面的 user 是怎样得到的,这个问题当时没有回答上来,可以说是非常的尴尬,所以赶快查了一些资料,看了一些源码,特地来总结一下这个问题。 要想回答为...

    js中同步与异步处理的方法和区别总结

    总结:若要在使用ajax请求后处理发送请求返回的结果,最好使用同步请求。 例如:以下例子会出现返回结果不正确的情况,因为ajax异步请求还未执行完,函数已经执行return了, 代码如下: function fn(){ var result =...

    python爬虫课程要点.docx

    python内置的HTTP请求库,包含四个模块:request、error、parse、robotparser。request:最基本的HTTP请求模块,可以用来模拟发送请求。 2)Request url:请求地址,必传参数。 data:附加参数(from表数据),bytes...

    在实战中可能碰到的几种ajax请求方法详解

    测速的逻辑是,测上传速度时,前端传5m数据给server,记录上传和返回数据的时间,测下载速度时,从server下载1m的数据,记录下载和下载成功的时间,上传和下载用的是ajax同步以避免客户端带宽阻塞的问题,并进行3次...

    ActiveMQ学习总结.docx

    1.在网络通讯中,Http请求默认采用同步请求方式,基于请求与响应模式 2.在客户端与服务器进行通讯时,客户端调用服务端接口后,必须等待服务端完成处理后返回结果给客户端才能继续执行,这种情况属于同步调用方式。 ...

    ajax乱码解决汇总

    ajax乱码解决总结 第一,javascript沿用java的字符处理方式,内部是使用unicode来处理所有字符的, 第二,utf-8是每个汉字(unicode字符)用3个字节来存储。 第三,用utf-8来send数据是不会出现乱码的,是后台程序...

    web安全验证码绕过

    问题总结::方法1:通过识别我们的请求头,来识别是否真实用户,我们打开天眼查网站的时候,正常浏览器打开会有一个请求头,请求头会按顺序带上相应的参数去请求天眼查的网站,天眼查的技术工程师会头这个头进行...

    sprigmvc图文总结

    前端控制器(DispatcherServlet):接收请求,响应结果,返回可以是json,String等数据类型,也可以是页面(Model)。 处理器映射器(HandlerMapping):根据URL去查找处理器,一般通过xml配置或者注解进行查找。 ...

    Test404 HTTP Fuzzer v4.1

    下面总结了一些响应信息,这些响应信息可能指示漏洞条件的存在:HTML状态码、响应中的错误信息、响应中包含的用户输入、性能下降、请求超时、WEB Fuzzer错误信息、处理或者未处理的异常 功能: 1.递归(目录发掘)...

    java_调用Webservice接口

    java 调用webservice的各种方法总结 现在webservice加xml技术已经逐渐成熟,但要真正要用起来还需时日!! 由于毕业设计缘故,我看了很多关于webservice方面的知识,今天和大家一起来研究研究webservice的各种使用...

    httpserver:学习socket网络编程,学习C++类的封装

    参考我总结的网络编程实践 试图解决其中提到的一些问题。 第一期任务 (已经完成) 2015/03/04 完成了基本的框架搭建,使用scons管理项目 完成了tcp socket的简单封装 实现最简单的串行接入请求,处理请求 完成简单的...

    pinpoint分布式系统APM工具

    我们知道,前端向后台发起一个查询请求,后台服务可能要调用多个服务,每个服务可能又会调用其它服务,最终将结果返回,汇总到页面上。如果某个环节发生异常,工程师很难准确定位这个问题到底是由哪个服务调用造成的...

    Jmeter实用总结1

    特此总结一下,以便后来人少出现问题。 1、背景: 开发了一个服务端有个接口暂时记为如下: http://IP:PORT/router 服务端接受一个图片并作为输入调用AI算法,并识别结果,然后返回。 2、配置: 在配置jmeter的时候...

Global site tag (gtag.js) - Google Analytics