Articles of http

为Windows 8高速caching代理服务器

我需要在Windows 8上设置一个本地caching代理服务器,这样我可以caching一些网页内容,以加快页面加载速度,并防止我们的低质量的互联网连接,让我们时不时。 在我们国家甚至一些js&css文件在Googlesearch页面被审查,由于我们的政府的生病的政策! 我可以使用vpn连接加载这些文件,但有时甚至会中断vpn连接(以及绕过审查的其他方式)。 我很久以前就习惯使用squid代理windows了,但是现在看来squid for windows的开发已经停滞了很长一段时间了。 有没有更好的select比旧的鱿鱼服务器的Windows?

为HTTP请求优化操作系统

我们做了很多的HTTP请求。 最近,我们开始考虑在操作系统级别进行优化,以便从一台机器发出更多的请求。 为了检查我们的操作系统的性能,我创build了一个小的基准来比较不同机器上的东西。 基准使用curl -w这样的: #!/bin/bash for (( ; ; )) do curl $URL -o /dev/null -s -w "SIZE: %{size_download} SPEED: %{speed_download} LOOKUP: %{time_namelookup} CONNECT: %{time_connect} START: %{time_starttransfer} TOTAL: %{time_total}\n" done 现在我运行它为1个单一的URL。 结果如下:从我的本地开发机器(连接光纤): SPEED (b/sec) LOOKUP CONNECT START TOTAL 13,331.2481 0.0022 0.0228 0.2163 0.2175 在我们的一台生产服务器上(使用XEN虚拟化),结果稍有不同: SPEED (b/sec) LOOKUP CONNECT START TOTAL 22,764.7700 0.0093 0.0455 0.1318 […]

Apache:为HTTP 1.0请求强制HTTP 1.1或Persistent / KeepAlive连接

我想强制运行在RHEL 5.8上的Apache 2.2.3服务器上的所有HTTP请求的Keep Alive或Persistent连接。 许多networking爬虫正在使用HTTP 1.0出于某种原因,我想或者强制持久连接,或者强迫这些连接使用HTTP 1.1,以便在Apacheconfiguration中保持活跃设置将导致持久的HTTP。 这是因为我想减less打开的TCP连接数。 我怎样才能做到这一点?

501错误使用PUT与IIS

当我尝试使用WinHTTP的PUT动词将文件写入服务器,如下所示: http : //msdn.microsoft.com/en-us/library/aa384105( VS.85) .aspx 我的Windows 2003服务器返回标题: HTTP / 1.1 501未实现内容长度:0服务器:Microsoft-IIS / 6.0 X-Powered-ASP.NETdate:2009年12月12日星期六11:31:14 GMT 我怀疑IIS需要configuration?

通过转发代理来反向代理的好方法

我有一个应用程序使用HTTP连接到服务器,但不支持使用HTTP代理,我必须使用HTTP代理服务器。 我想build立一个反向代理服务(在Linux服务器上),可以通过常规的代理服务器。 所以: App –> Reverse Proxy ———-> Forward Proxy ————-> Server |====Localhost=======| Net |=Somewhere=| Net |=Somewhere Else=| 我已经看了几个轻量级的反向代理,但他们不支持通过代理服务器转发。 我不想运行像apache或squid这样重的东西,但是如果它们是唯一能够工作的东西,那么他们会这样做。 (虽然从apaches文档,它看起来也不会起作用)。 有什么build议么?

大的keepalive_requests值会严重降低Nginx的性能

当在Nginx上运行培根(43字节透明像素)负载testing时,我们尝试了几个keepalive_requests值(从10到100,000),最佳值似乎是10 。 以下是这个小回复的服务器HTTP标头: HTTP/1.1 200 OK Server: nginx/1.5.6 Date: Wed, 23 Oct 2013 12:39:45 GMT Content-Type: image/gif Content-Length: 43 Last-Modified: Mon, 28 Sep 1970 06:00:00 GMT Connection: keep-alive Nginx的keepalive_requests 100000比keepalive_requests 10慢两倍。 你能帮助理解这个结果吗? 或者告诉我们做错了什么? 作为参考,这里是nginx.conf文件 。

代理身份validation期间允许中间代理添加Cookie吗?

我最近遇到了一个特定的安全设备(BlueCoat),它要求所有到Internet的连接都必须通过它来代理(你好,中间人),并相应地使用特殊的SSL证书来拦截所有的stream量。 这阻止了Git的正常操作,即使设置了适当的http.proxy和http.sslCAInfo属性来确保SSL连接本身正常工作。 使用环境variablesGIT_CURL_VERBOSE=1 ,我们发现使用git clone ,会发生HTTP 407(需要代理身份validation)。 Git正确地完成了这个authentication,最后,设备返回一个带有Cookie头部Set-Cookie的HTTP 200。 然后Git将连接到目标服务器,但没有 cookie,导致HTTP 401。 解决方法是设置gitconfiguration选项http.saveCookies=true 问题: RFC标准是否允许中间代理添加Cookie? Anthony Rich 向http-state邮件列表提出了同样的问题,但没有任何回应。 他确实注意到了 RFC 2965 HTTP状态pipe理机制,3.5高速caching代理angular色它说:代理不能在代理响应(请求)中引入自己的Set-Cookie2(Cookie)头。 然而, 取代的RFC 6265完全没有提到这一点。

我如何识别dynamicwebapp服务器上的“喂食问题”?

正如最近向我解释的那样,“喂食问题”发生在连接到应用程序服务器的连接将缓慢networking连接的数据连接到客户端时。 这对我来说是有意义的,现在我明白在我的应用程序服务器之前放置高并发代理的重要性。 我的问题是,第一个人如何认识到这个问题呢? 如果我没有向我解释这些问题,哪些* nix工具和故障排除技术将帮助我认识到这个问题?

清漆似乎不是caching

我已经build立了一个清漆caching镜像坐在文件服务器前,但似乎是无休止地从我的文件服务器重新下载数据。 总共有大约100GB的数据,但是到目前为止,Varnish已经从我的文件服务器上下载了800GB的数据。 我使用Varnish附带的默认VCL文件,文件服务器提供的文件的响应头类似于以下内容: HTTP/1.1 200 OK Cache-Control: max-age=290304000, public Content-Type: image/jpeg Expires: Wed, 29 Dec 2010 21:38:33 GMT Server: Microsoft-IIS/7.0 E-Tag: "8b4723296ab697530768f18b1378b269" Content-Disposition: inline; filename=image046.jpg; X-AspNet-Version: 4.0.30319 X-Powered-By: ASP.NET Date: Thu, 23 Dec 2010 05:38:33 GMT Content-Length: 100592 我开始清漆使用以下选项: varnish/sbin/varnishd -a 0.0.0.0:80 -f varnish/etc/varnish/default.vcl -s file,varnish/var/lib/varnish/varnish_storage.bin,100G

为什么mod_security需要一个ACCEPT HTTP头域?

经过一些debugging之后,我发现mod_security的核心规则集阻止了没有(可选的!)ACCEPT头域的请求。 这是我在日志中find的: ModSecurity:警告。 需要匹配“rx ^ OPTIONS $”和“REQUEST_METHOD”。 [file“/etc/apache2/conf.d/modsecurity/modsecurity_crs_21_protocol_anomalies.conf”] [line“41”] [id“960015”] [msg“Request Missing Accept Header”] [severity“CRITICAL”] [tag“ PROTOCOL_VIOLATION / MISSING_HEADER“] [主机名”example.com“] [uri”/“] [unique_id”T4F5 @ H8AAQEAAFU6aPEAAAAL“] ModSecurity:访问被代码400拒绝(阶段2)。 需要匹配“rx ^ OPTIONS $”和“REQUEST_METHOD”。 [file“/etc/apache2/conf.d/modsecurity/optional_rules/modsecurity_crs_21_protocol_anomalies.conf”] [line“41”] [id“960015”] [msg“Request Missing Accept Header”] [severity“CRITICAL”] [标签“PROTOCOL_VIOLATION / MISSING_HEADER”] [主机名“example.com”] [uri“/”] [unique_id“T4F5 @ H8AAQEAAFU6aPEAAAAL”] 为什么这个标题是必需的? 我知道“大多数”客户发送这些信息,但为什么他们的缺席被视为安全威胁?