Articles of http

服务器不会向一个ISP返回一些请求

我有一个Linode服务器,将不会返回到我平常的ISP的随机GET请求(但从来没有被卡住每次相同的一个)。 如果我切换ISP或使用Opera VPN ,一切运作良好。 Linode说,他们看起来都很好。 服务器的资源很好(这是一个开发服务器,目前只用于testing,非常轻的stream量和开销)。 他们说要检查我的ISP。 我的ISP说,他们都看起来不错,但他们会让工程师看看它。 正如我期待的那样,我们从ISP那里找不到任何答案,我试图find客观的证据来certificate我的诊断非常有限。 我掸掉了Wireshark ,开始诊断。 如果我使用ISP的问题,从浏览器的angular度来看,这有点杂乱无章。 有时一个页面加载正常,有时加载正常,但其他资产将无法加载(CSS,JS,JPEG等)。 有时,页面本身不会加载,并且无限期地保持“加载”,没有服务器响应。 诊断: 在Wireshark中 http.time > 1证实了这个问题没有太多的超时或者长的加载时间,更多的是请求加载或者不加载。 我的标题没有显示任何exception,例如: GET /theme/css/style.css HTTP/1.1 Host:site.com Accept:text/css,*/*;q=0.1 Accept-Language:en-ie Accept-Encoding:gzip, deflate Connection:keep-alive Pragma:no-cache User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.1 Safari/603.1.30 Referer:http%3a//site.com/section/ DNT:1 Cache-Control:no-cache 当我使用Wireshark进行捕捉时,浏览器中的请求停止时,我没有看到太多反馈。 不过,上次我尝试了一下,我得到了一个重复的请求: localhost server TCP 66 [TCP Retransmission] 61162 […]

NGINX计算静态文件的可复制Etag

我正在考虑将我的静态文件移动到多个原始服务器,但是我注意到NGINX计算不同服务器上相同部署的文件的不同Etags,这会随着下游caching层思考文件不断变化而不是变化。 我想要发生的事情是Etag依赖于服务文件本身,例如使用MD5或其他内容的散列(当然,NGINX本地caching性能)。 这是可能的提供的静态文件服务,或者是否期望我以另一种方式解决这个问题? 例如编写自己的“文件服务器”应用程序/脚本来计算和caching散列,或者确保所有文件系统元数据(不pipe它使用什么)总是相同的? 使用Apache或类似的是一个选项。

CentOS和多个python网站开发人员

我需要能够在基于CentOS的Web服务器上支持多个(〜100个)不同的用户以及他们自己的网站。 他们需要能够使用Python(v2和v3)以及Django。 我明白,systemctl重新启动是必需的阿帕奇,可以安排一个cron工作。 但是,我不知道从pipe理方面的其他技巧和窍门和要求。 有没有一个网站,将用于我build立服务器? 我明白,他们每个人都可以运行自己的networking服务器(simpleHTTPserver),但是对我来说看起来很乱。 对于这个问题的任何帮助,我将不胜感激。

用Apache发送压缩的请求

我曾经看过类似的问题,但他们没有涵盖我的情况。 例如: 是否可以为请求启用http压缩? 场景 : 服务器A正在运行一个生成大型XML文件的服务。 在服务器A上,Apache被安装为代理服务器(PUT / POST)消息到我们的服务器B. 由于这些文件相当大,我想在发送到服务器B之前压缩(例如gZip / deflate)XML。 我可以使用服务器B上的mod_deflate(inputfilter)自动解压缩消息。 在服务器A上,我还configuration了mod_deflate(设置为outputfilter),但请求没有被压缩 – 只有来自服务器B的响应可以被接受为压缩。 问题如何configuration服务器A上的Apache在发送到服务器B之前压缩请求主体? 限制/更多信息: 我无法修改/实现服务中的XML压缩(closures软件)。 我无法将场景更改为请求文件的服务器B. 过程不需要是HTTP投诉

旧的VirtualHost在迁移后应该返回什么HTTP状态码

我们已经把一个网站从一个服务器移到另一个。 DNS被适当地更新了,但是有些服务器并不尊重TTL,有些地方可能会使旧服务器的IP硬编码。 我应该如何通知他们VirtualHost不在这里? 有没有一个适当的HTTP状态码(可能是503)? 如果这不是HTTP的责任,有没有更好的办法?

通过HTTP将实况video和audiostream式传输到networking浏览器

我试图找出将stream媒体直播video和audio从Apache服务器传输到各种网页浏览器(主要是桌面Firefox和iOS Safari)的最佳方式。 (我现在还没有那么需要,只是现在可以使用的东西)。video由/dev/video0的V4L2设备/dev/video0 。 多个用户将一次连接到服务器。 我希望有一个解决scheme,不需要在客户端的浏览器插件。 我已经看到了我正在寻找的部署为飞机上的娱乐,以实况电视stream的forms发送到飞机WiFinetworking上的网页浏览器。 我还没有find任何(工作)的在线解决scheme(大多数search结果文件使用stream媒体服务,但我需要从我自己的服务器stream)。 我在服务器上运行最新的Debian'Stretch'GNU / Linux。 任何帮助是极大的赞赏。 如果您需要更多信息,请留下评论。

Windows 10 – TCP分段会导致部分HTML响应

编辑2:根据评论,更新的问题从分段到分割。 编辑:我已经把这个问题缩小到Windows 10单独 – 似乎像IE硬化是2012 R2的问题,导致我相信8.1也受到影响。 原始问题内容如下: 我收到来自web服务器的分段HTTP响应 。 第一个数据包(第一个图像上的709)如下所示: 2 – 您可以看到它包含标题,然后是内容。 第二个数据包(第一个图像上的710)如下所示: 3 。 其余的数据包与这个问题无关,但是它们包含了其余的HTML内容。 在Wireshark中检查重组数据显示正确的HTTP响应: 4 ,但是,任何(浏览器或不浏览器)的用户空间应用程序都会收到: 5 。 正如您所看到的,它看起来像是第一个数据包中的AFTER标头的HTML内容丢失,而不是数据从倒数第二个数据包开始。 对于一切都变得更有趣,只有当应用程序发送HTTP / 1.1或HTTP / 1.0请求 – 发送HTTP / 1.2,HTTP / 0.9,HTTP / 2.0甚至像GET / AAA任意数据将导致Web服务器响应HTTP / 1.1和应用程序接收适当的数据: 6 。 对于什么是值得的,似乎networking堆栈中的某些东西正在尝试对HTTP请求进行某种优化,但我无法find任何关于此的信息。 只有在Windows 8+(或8.1+,没有任何8台机器才能testing)包括服务器版本时才会出现问题。 Windows 7或更旧版本或任何其他基于nix的系统都没有问题。 这是同样的问题,可以在TP-Link论坛上看到( http://forum.tp-link.com/showthread.php?93626-TL-SG105E-v2-Web-interface-unresponsive-Config-utility-works )但是我敢肯定,这是Windows实现失败的一个问题,在这个特定的情况下(即使假设web服务器做了不正确的事情,这在较老的Windows和* nix系统上工作)。 坦率地说,在这一点上,我愿意接受任何build议,我想我会疯了。

使用PhantomJS和selenium驱动程序无法从debian服务器获取HTML

我正在开发一个使用selenium(webdriver python绑定)和PhantomJS(无JavaScriptKit脚本与JavaScript API)加载和互动网站的Python程序。 当我在本地 Ubuntu计算机/networking上使用此程序时,它会正确加载网站; 我可以转储所有的HTML: 打印webdriver.page_source 当我在服务器上运行它时,只会打印此行 <html><head></head><body></body></html> 它看起来像服务器用空的 HTML页面回答请求。 这个问题发生在2个网站上,但是这个程序对于第三个网站是正确的。 这让我觉得这是一个networking问题,而不是一个编程问题 (?)。 服务器由vps提供者提供。 从服务器上,我可以ping一个回答空HTML的网站之一的服务器,这使我认为我不是 ip黑名单或禁止。 这里是netstat -tulpen输出(在服务器上运行): tcp 0 0 0.0.0.0:41207 0.0.0.0:* LISTEN 0 267296 22458 / phantomjs tcp 0 0 0.0.0.0:38457 0.0.0.0:* LISTEN 0 267294 22463 / phantomjs tcp 0 0 0.0.0.0:33667 0.0.0.0:* LISTEN 0 267295 22461 / phantomjs 我不知道如何debugging/了解正在发生的事情。 更新:经过一些testing,我做了一个JS脚本,直接使用PhantomJS转储页面的HTML内容并logging错误。 它给 […]

将单个页面redirect到http

我目前在我的apache.conf文件中有这个redirect Redirect permanent "/" "https://127.0.0.1/" (请注意:: 127.0.0.1是一个占位符) 我想确保我的网站的所有目录都是https,除了文件Word.php 。 这怎么能在apache.conf文件中完成?

使用http2时,Nginx proxy_pass丢失标题

在nginx上使用http2协议(常规的http到Wildfly 10后端)时,我遇到了一个nginx在将头文件丢到后端的问题。 下面的configuration工作时采取http2参数,当http2参数启用,前端似乎工作,但后端没有收到客户端的任何头。 我也尝试添加:proxy_http_version 1.1 – 参数没有效果。 nginx到后台连接是否也需要使用http2协议来传递标头? 我明白,只使用http2到nginx前端是一个常见的用例。 upstream backend { # Use IP Hash for session persistence ip_hash; # List of Wildfly application servers server backend:8080; } server { listen 80; return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name site.domain.com; keepalive_timeout 70; # Proxy settings proxy_read_timeout 120; proxy_set_header Host $http_host; […]