Articles of http

发布特定的SVGstring时,Apache和mod_wsgi返回504错误

当我发布特定的SVGstring时,我在Apache + mod_wsgi中发生了一个奇怪的504错误。 后端应用程序是Python Flask,但它似乎并没有到达应用程序。 这是一个返回504错误的请求: curl 'https://some.domain.com/api/export/png' –data 'svg=%22%3E%28style' 这是另一个以200返回的结果: curl 'https://some.domain.com/api/export/png' –data 'svg=%22%3E%28styl' 不同之处在于我只从POST数据中删除了一个字符 SVG数据被裁减到可能产生错误的最小数据。 原始的SVGstring要大得多。 出现在apache错误日志中的错误是: [Tue Jun 09 14:27:26 2015] [error] [client 10.5.226.115] (104)Connection reset by peer: mod_wsgi (pid=19254): Unable to get bucket brigade for request., referer: https://some.domain.com/ [Tue Jun 09 14:27:26 2015] [error] [client 10.5.226.115] mod_wsgi (pid=19252): Exception occurred processing […]

计算HTTP摘要

我只是试图计算一个HTTP摘要authentication的响应。 想象一下RFC2617的例子。 我提取了follingvariables: USER="Mufasa" REALM="[email protected]" PASS="Circle Of Life" METHOD="GET" URI="/dir/index.html" NONCE="dcd98b7102dd2f0e8b11d0f600bfb0c093" 我为这个工具input了这个variables: http://pernau.at/kd/sipdigest.php?qop=none&user=Mufasa&realm=testrealm%40host.com&password=Circle+Of+Life&method=GET&uri=%2Fdir%2Findex.html&nonce=dcd98b7102dd2f0e8b11d0f600bfb0c093&body=&noncecount=&cnonce= 该工具(以及我的程序)计算响应670fd8c2df070c60b045671b8b24ff02 ,而RFC中的响应是6629fae49393a05397450978507c4ef1 。 我究竟做错了什么? 我想念什么?

使用HTTP下载时损坏的文件

通过我的UMTS连接,当通过HTTP下载大多数档案时,大于50 MB的档案被损坏。 如果我切换到HTTPS,问题就没有了。 该问题不应该驻留在我的networking中,因为我有一个额外的ADSL连接。 当我切换到这个连接100%的下载档案是好的。 我的想法是,问题应该是:HTTP没有数据包的散列certificate。 来自TCP的证据是薄弱的。 当通过UMTS连接传输大量损坏的包时,有些应该通过TCPcertificate,结果是损坏的文件。 但是,当我监视与wireshark连接和filter“tcp.analysis.lost_segment”我没有得到比ADSL连接更多的错误(实际上它甚至更多)。 所以这不应该是问题。 如果我切换到WLAN连接的问题已经没有了! 那是什么意思? WLAN协议有些额外的certificate或者我的调制解调器的以太网卡有缺陷吗? 但是在这种情况下,我不应该通过以太网看到很多损坏的软件包吗? 我的损坏的文件从哪里来?

是什么原因使用nginx在HTTP GET请求上“连接”和“等待”秒?

导致连接到Nginx服务器和等待时间的延迟是由pipe理员控制的吗? 我已经设置GTMetrix来运行每日网页加载速度testing,有时我得到惊人的高取值静态文件。 这里有一个报告 : GTMetrix分析发生在20分钟前。 我们的1GB Linodenetworking服务器远没有加载。 Load average: 0.17 0.06 0.06 ,分析过程中5分钟间隔内CPU利用率低于1%,nginx连接低于1 /秒。 nginx的configuration文件没有什么特别之处,几周之内没有改变: server { listen 80; listen [::]:80; listen 443 ssl; listen [::]:443 ssl; server_name analytics.idorecall.com; ssl_certificate …; ssl_certificate_key …; root /var/www/piwik; location / { index index.php; } location ~* \.(ico|css|js|gif|png|jpe?g)$ { add_header Access-Control-Allow-Origin idorecall.com; access_log off; expires max; break; } location […]

如何修复/解决AkamaiGHost TCP_Miss和500错误

我目前在南美的服务器上运行了一个Java应用程序,并使用了Akamai的CDN。 当我检查错误时,我有时会从deploy.akamaitechnologies.com(AkamaiGHost /)( – )得到错误:“HTTP / 1.1 503 Service Unavailable”和“500 Internal Server Error”,TCP_MISS。 这是什么意思,我该如何解决这个问题? 我目前是一名学生,没有那么有经验,所以我需要帮助。 所有的帮助,非常感谢。 谢谢!

TCP和HTTP连接pipe理不一致

在WireShark中观察以下场景: 我在这里看到的问题是,在从服务器(4090)接收到[FIN, ACK]并确认(4092)之后,http客户端尝试发送另一个HTTP请求,而不是立即closures(并且可能重新build立)TCP连接。 它看起来像[FIN, ACK]被HTTP客户端简单地忽略。 根据RFC 7230(6.3),HTTP协议使用Connection头指定了它的持久连接pipe理机制。 它工作得很好,因为它支持客户端和服务器。 但是HTTP通常运行在TCP之上。 TCP连接pipe理对协议不在意,可以独立于HTTP使用。 但是,HTTP客户端不支持处理这个(可能不应该,它应该在套接字级支持)。 但是服务器确实利用它,因为它允许在不发送额外的HTTP请求的情况下正常closures连接。 例如,当连接超时或configuration重载时,nginx发送FIN包。 注意当HTTP客户端从服务器接收到RST ,会closures连接。 它似乎是在套接字级别上完成的,因为在HTTP客户端的源代码中找不到与此相关的任何内容。 我对情况的理解是否正确? 客户端忽略FIN消息,而服务器使用它,似乎是完全错误的。 为什么RST在套接字级别上处理,但是FIN不是? HTTP客户端应该如何处理TCP连接closures有什么RFC /其他标准? 是nginx做非标准的事情还是HTTP客户端不遵循标准? PS我可以在Python 2/3中使用HTTP客户端,用C编写的Java和httperf实用程序来重现它。所以我认为HTTP客户端忽略FIN消息是很常见的。 我想明白为什么。

Apache CentOS 7上的故障无法启动

大家好, 我有一个问题,我不能独自解决,所以我需要你的帮助。 我已经安装在一个centos 7 apache时,我要求的服务状态(systemctl状态httpd),所以我有这样的错误: 启动Apache HTTP服务器… httpd.service操作超时。 终止httpd.service停止超时(2)。 杀 无法启动Apache HTTP Server 单位httpd.server进入失败状态 我查了我的error_log文件(var / log / httpd / error_log /并在这里得到了这个 启用S​​ELinux策略:httpd作为上下文运行system_u:system_r:httpd_t:s0 启用suEXEC机制(包装:/ usr / sbin / suexec) 消化authentication的一代秘密 没有从mod_heartmonitor的插槽 pid文件/run/httpd/httpd.pid覆盖 – 不正常的关机以前的Apache运行? Apache / 2.4.6(CentOS)PHP / 5.4.16。 configuration – 恢复正常操作 命令行:'/ usr / sbin / httpd – D FOREGROUND' 是的,我做了这个工作,并键入这个错误报表,所以我没有写在[]的date和信息。 我希望解决这个问题不是那么重要。 我已经试过了: 重新启动systemctl […]

CentOS设备变得无法响应大量的传出http连接

我有一台运行CentOS-7的ESXi虚拟机。 我的应用程序被部署在运行在这个服务器上的一个tomcat实例中。 该应用程序每隔15秒定期发送 1200个“ 外发 ”http连接。 我在下面看到两个问题,真的很感激,如果有人可以阐明如何debugging这些: 在1200个传出http连接中,less数(从10到100)间歇性超时。 当这种情况发生时,如果我尝试ping这些目标IP地址,那么即使ping失败,错误“无效的参数”。 但经过一段时间之后,它会再次开始工作。 对于不同的IP端点,这种情况一直在发生。 有1000个并行连接,效果很好。 所以我想我可能会碰到一些内核限制。 我观察到在任何特定情况下的TIME_WAIT连接,它们仍然在5000左右。 运行此设置几个小时后,5-10小时,突然CPU突然达到100%,并保持这种状态,直到我重新启动虚拟机。 发生这种情况时,虚拟机完全没有响应,即我不能ssh进入它,也不能使用vmware控制台连接到它。 重新启动后,我检查了/ var / log / messages,但是从这个问题出现的时间点来看没有进入。 请让我知道,如果有人对可能发生的事情有一些粗略的想法,我该如何debugging。 只是为了澄清 – 我不是一个全职的系统pipe理员。 我是一个软件开发人员,需要调整这个虚拟机来获得一些可伸缩性数字:) 谢谢M

Ubuntu上SoftLayer上的Java TimeoutException

我有Java应用程序,在我的本地机器上正常工作。 但是当我试图在SoftLayer上启动它,所有的连接太长了。 例如,通过HttpAsync或其他(socket等)的简单http连接持续1-2分钟。 但连接完成后,数据快速发送/接收。 我无法弄清楚什么问题。 我认为,与APF防火墙的MB问题。 但即使在没有防火墙的服务器,我有这个问题。 所以…东西阻止了我在Java中的连接。 简单的curl到相同的url是快速的。 我怎样才能find问题? UPD:即使我尝试连接到127.0.0.1上的本地服务,也是如此 UPD2:但是当我在IDE中启动项目时,不存在这样的问题。 只有手动启动时才会出现问题。

无法使SPDY在Apache 2.2.22(Ubuntu 12.04服务器)上工作

我试图启用这个Apache模块。 我做了这个来自Google的所有文档:https:// developers.google.com/speed/spdy/mod_spdy/ 但是,如果我使用“SPDY指标”铬扩展来检查它是否工作,它表明它不。 我用来检查是否有效的另一个工具是https://spdycheck.org/结果很奇怪。 如果我检查“www.example.com”它说它支持SPDY。 但是,如果我检查“example.com”,它说不。 最后, https : //www.h2check.org/说,当我检查“www.example.com”时,它不支持HTTP / 2,但是如果我插入我的IP地址,它说它支持它。 我迷路了,因为它似乎不起作用,但是这些工具中的一些却说(在不同的情况下)。 为什么我从不同的testing中获得不同的结果,以及如何才能使SPDY正常工作?