Articles of http

Haproxy中有大量的TIME_WAIT

我们在CentOS 5.9机器上安装了haproxy 1.3.26,该机器具有2.13 GHz Intel Xeon处理器,充当大量服务的http和tcp负载平衡器,可以达到〜2000个请求/秒的峰值吞吐量。 它已经运行了两年,但是交通和服务的数量都在逐渐增加。 姗姗来迟,我们已经注意到,即使重新加载旧的haproxy过程仍然存在。 在进一步的调查中,我们发现旧的进程在TIME_WAIT状态下有很多连接。 我们也看到netstat和lsof需要很长的时间。 在引用http://agiletesting.blogspot.in/2013/07/the-mystery-of-stale-haproxy-processes.html我们介绍了option forceclose但它搞乱了各种监控服务,因此恢复它。 在进一步的挖掘中,我们意识到在/proc/net/sockstat接近200K的套接字处于tw ( TIME_WAIT )状态,这是令人惊讶的,因为在/etc/haproxy/haproxy.cfg maxconn被指定为31000, ulimit-n指定为64000。我们有timeout server和timeout client为300s ,我们已经改变为30s但没有太大的用处。 现在怀疑是: 是否可以接受这么多的TIME_WAIT。 如果是的话,我们应该担心的是什么。 看看服务器端的许多TIME_WAIT的成本是多less? 并设置TIME_WAIT TCP似乎不应该有任何问题。 如何减less这些TIME_WAIT 是否有任何替代netstat和lsof哪些将执行正常,即使有非常多的TIME_WAIT

在linux中使用cURL命令来返回http响应代码

请在linux操作系统中使用cURL命令,如果是“okey”,则返回“200”的http响应代码 我正在使用该命令: curl -I -L domain.com 但是这是为我这样的全文返回 HTTP/1.1 **200** OK Date: Thu, 27 Feb 2014 19:32:45 GMT Server: Apache/2.2.25 (Unix) mod_ssl/2.2.25 OpenSSL/1.0.0-fips mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.4.19 X-Powered-By: PHP/5.4.19 Set-Cookie: PHPSESSID=bb8aabf4a5419dbd20d56b285199f865; path=/ Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Vary: Accept-Encoding,User-Agent Content-Type: text/html 所以请我只需要响应代码,而不是整个文本 问候

只接受来自Go的Localhost的HTTP连接?

我在Golang有一个简单的HTTP服务器: h := http.NewServeMux() h.Handle("/somepath", MyHandler) s := &http.Server{ Addr: "1234", Handler: h, } s.ListenAndServe(); 删除调用者不是本地主机的连接的最佳方式是什么? 目前我正在考虑检查底层的连接信息,并确保IP地址是127.0.0.1 ,但是在最终丢弃连接之前浪费了大量的资源(并且运行了大量的Go代码)。 理想情况下,我可以让Golang服务器根据IP地址丢弃最初的TCP SYN数据包,根本不创buildTCP连接(或者显示此端口正在侦听)。 这里最干净的道路是什么?

Simple * nix工具,用于侦听HTTP请求并logging请求数据

什么是一个简单,易于使用的* nix工具,将侦听给定端口上的请求并logging请求标头和正文?

给定TCP / IP校验和的HTTP 1.1 Content-MD5冗余?

我只是想知道,在HTTP 1.1规范中,有一个字段Content-MD5。 但是,由于HTTP在整个OSI协议栈中处于TCP / IP之上,并且考虑到TCP / IP具有头校验和以确保所有传输的数据都被检查,所以我很好奇为什么需要HTTP中的Content-MD5 1.1规格? 我误解了什么? 对于我提到的HTTP / 1.1头部规格: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.15 对于TCP / IP规范,我参考了第3.1节: http://www.ietf.org/rfc/rfc791.txt 对于我来说,通过在HTTP头中添加Content-MD5,我们只是在服务器上添加更多的工作。 为什么不使用TCP / IP已经提供的机制呢? 欢呼和感谢所有提前:)

如何使用cURL将文件的内容作为POST参数发送?

我试图用cURL POST文件的内容,就好像我把这些内容粘贴到html textarea中一样。 也就是说我不想上传这个文件,我只想要一个名为foo的post参数来填充名为bar.txt的文件中的文本。 bar.txt的内容可能包括换行符,引号等等。 这可能吗? 谢谢。 编辑:我发现如何做到底: curl –data-urlencode "foo@bar.txt" http://example.com/index.php 这将采取文件bar.txt的内容,对其进行url编码,将结果string放在http://example.com/index.php的POST请求中的名为foo的参数中。 我不能说别人提出的解决scheme是否会起作用,但上面的解决办法似乎是最好的办法。

无法加载应用程序或执行命令“Microsoft.AspNet.Server.Kestrel”。 可用命令:web

试图在Docker上运行简单的webapi应用程序(部署到Ubuntu Linux)我试图运行容器时遇到奇怪的exception: 无法加载应用程序或执行命令“Microsoft.AspNet.Server.Kestrel”。 可用命令:web。 到目前为止我做了什么。我已经把我的aspnet5解决scheme上传到Linux机器并运行发布:dnu publish –framework dnxcore50 –configuration Release –wwwroot“wwwroot”–wwwroot-out“wwwroot”–iis-命令“web” 下一个完成docker构build创build一个图像,然后尝试运行它:sudo docker运行-t -d -p 8000:8000 myimagename 看着docker日志我看到上面显示的exception。 我login到容器看到文件夹结构,都看起来不错。 Verifyid在容器中的dnx和我用来构build解决scheme的是一样的。 使用最新的可用的microsoft / aspnet图像 – rc1-update1 有任何想法吗??

CORS错误,同时发出请求logstash

我已经configuration了Logstash 1.5.2在linux机器上使用httpinput。 这是我的logstashinputconfiguration: input { http { host => "10.xx120" port => "8500" } } 我可以使用curl -XPOST从linux机器发送数据到logstash。 但是当我做一个$ http.post(url,postData); 来自我的angularJS应用程序的请求我得到以下错误: 跨源请求被阻止:同一来源策略不允许读取远程资源 我已经使用docker容器中的nginx在同一台linux机器上托pipe了我的应用程序。 我已经尝试configurationnginx以允许CORS通过添加以下行到nginx.conf: 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'; 但仍然错误仍然存​​在。 另外,当我从我的浏览器地址栏中打开http://10.xx120:8500时 ,我得到'ok'。 任何帮助,高度赞赏。 谢谢。

什么是Linux文件系统的“primefaces磁盘写入”?

从nginxconfiguration文件自述: 访问日志: 可选的第三个参数表示缓冲区的大小 如果使用写缓冲,则此大小不能超过该文件系统的primefaces磁盘写入的大小。

parsingChunked HTTP / 1.1响应

我刚刚实现了一个HTTP / 1.1客户端来parsing分块传输编码。 但是,它适用于一些网站,但其他网站却失败了。 我假设我需要为每个块数据读取chunkSize + 2个字节,包括\r\n ,对吗? 这是我的代码: while(chunked)//if detecting chunked in the header before, this is true { //getLine is a function can read a line separated by \r\n //sockfd is a socket created before and file position is at the start of HTTP body (after that blank line between header and body) […]