Articles of http

Nagios:监视不同端口上的http服务

我想通过在80以外的多个端口上运行的http监视服务。服务在端口8083,8086和一些其他端口上运行。 我创build了server.cfg文件,如下所示: define host { use linux-server host_name cfbase-prod alias cfbase-prod address xxxx contacts admin } define service { use generic-service host_name cfbase-prod service_description HTTP check_command check_http contacts admin check_interval 1 } 但它不是在我的nagios控制台上工作,它仍然显示为端口80上的http,事实并非如此。 有人可以帮忙吗?

非SSL站点通过HTTPS访问时返回“无法连接”是正常的://

我只是谈论没有任何SSL证书的服务器(自签名或授权)。 是否正常的网站,没有任何关于SSL(默认configuration,干净安装的Apache / Nginx的)返回Unable to connect (Firefox)或refused to connect (铬)如果通过https访问(例如https://example.com )? 我的服务器确实是configuration错误吗?

正确的http状态拒绝客户端视图图像与无效的引用网页

简短版本:如果我决定拒绝对某个URI的访问,因为客户端没有提供有效的Referer HTTP头,那么我应该使用哪个http状态? 长:假设我写了一个非常漂亮的照片的博客文章。 我希望我的访问者通过链接到这篇博客文章与他们的朋友分享,但是如果我的访问者与他们的朋友分享了直接链接到图像文件的链接,那么我有点难过。 除了用“请与你的朋友分享这个博客文章的链接”这样的词汇来说服之外,有什么礼貌的方式表明,通过使用某个http状态,使用相应的HTTP Referer头部可以更好地访问图像文件?

路由器可以处理多less个请求?

我制作了一个脚本来扫描一个包含一部分ipv4地址(大约五千万个)的文件,它试图使用OpenSSL连接到网站,并提取一小部分,并将其写入文件。 为了节省一些细节,它使用多重处理来运行大约150名员工同时连接到不同的站点,每个连接不到一秒钟。 我的CPU可以处理更多的工作人员,所以脚本不是以任何方式限制CPU的。 这个剧本的上限是我家庭最大带宽的五分之一,甚至在大学实验室里也没有达到最大速度的三分之一(我有特别的权限来运行这个),即使我把工作人员提高到大约300人, 400,500等。它也绝对不是I / O有界的,因为它将它保存在内存中的列表中,并在最后写出来。 我相信这是由于路由器没有同时处理这么多的请求 即使带宽不是问题,路由器是否可以超载请求? 我更惊讶的是,大学networking无法处理这些请求。 我能做些什么来解决它? 还是有其他的见解?

代理在尝试将数据上行发送到部分closures的连接(重置数据包)后生成的HTTP 502响应

我正在通过代理服务器返回零星的502s。 当检查数据包stream时,我看到nginx发送POST请求到源服务器已经发送[FIN,ACK]的套接字。 我想了解这是如何可能和任何潜在的解决scheme。 原始问题(发送响应后5秒发送FIN还是ACK)还是代理服务器? 下面是PCAP的屏幕截图,说明问题: 我的理解: 来自原点的响应是[PSH,ACK]; 代理发送一个与[P]一起收到的数据的[ACK](wireshark确认下一个[ACK]用于之前收到的[PSH-ACK])。 7秒过去了(注意时间戳btw / [FIN,ACK]和我们的POST([PSH,ACK])); 原点发送[FIN,ACK]。 当第一个[FIN,ACK]发送时,原始TCP状态机应处于FIN_WAIT_1状态。 然后我们发送另一个POST,导致[RST]作为回报,因为起源不期待[PSH,ACK]。 题: 这种情况可能的解释是什么? 为什么代理(nginx)发送另一个请求,如果它已经收到一个FIN并且实际上是承认它! (POST [PSH,ACK]数据包中的确认号实际上是[FIN,ACK]的SEQ_NUMBER + 1),所以它确认幻像位FIN。 5秒后,原点返回[FIN,ACK]而不是直接返回的可能原因是什么? 读取超时/空闲超时? 我没有自己的起源 – 所以不能在那里捕捉。 额外细节: 代理(nginx错误日志)上的错误日志: 2017/04/17 06:51:07 [error] 123091#0: *225010841 upstream prematurely closed connection while reading response header from upstream, client: X.90.10, server: www.example.com, request: "POST /web/?a=b HTTP/1.1", upstream: "http://X.32.238:80/web/?a=b", host: "www.example.com" […]

如果您正在迁移到HTTPS,将第三方HTTP链接到您的图像中断?

我为多个在线博客撰写文章,并将在这些文章中embedded的图像托pipe在我的个人网站上。 我想在我的网站上实现SSL,因为托pipe这些文章的网站之一切换到HTTPS链接和图像被打破,这看起来非常不专业。 不幸的是,另一个也在使用我的图像的网站仍然使用HTTP链接,我无法将它们切换到使用HTTPS。 我已经看到网站的HTTP和HTTPS版本的图像工作,但如何完成? 请问HTTP URL是否仍然适用于切换后的embedded图像,否则会被破坏,除非我实现了一些特殊的东西? 我一直无法find任何有关这方面的信息,所以我希望这里有人能够提供帮助。 我还没有购买SSL证书,但是通过Dotster(我的托pipe服务提供商),我可以保证一切都不会中断。 谢谢!

尝试下载视图(WAMP)时发生HTTP错误-5

任何人都可以向我解释HTTP错误-5是什么? 每当我尝试在本地更新或下载Drupal 7站点中的模块时,都会收到此错误消息。 例如: HTTP error -5 occurred when trying to fetch https://ftp.drupal.org/files/projects/views-7.x-3.16.tar.gz. 以上是在尝试下载模块后从此屏幕进行的翻译: Apache或PHP错误日志中没有任何与此错误相关的信息。 在Drupal最近的日志消息或状态消息中都没有。 也可以使用命令行工具来做相同的事情,比如Drush或者Git。 计算机互联网连接没有其他问题。 只有从Drupal站点UI下载模块时,才会发生这种情况。 任何人?

如何连接到不同路由器上的terminal?

我正在Router 1上的Terminal 2上托pipe一个http服务器,我想连接到Router 2上的Terminal 4 。 我知道路由器的IP地址和terminal的LAN地址。 如果两个terminal都在同一路由器下,那么我可以简单地使用局域网地址来发送HTTP请求,但是我不知道如果路由器不同,该怎么办。 两台路由器都有互联网连接 我该怎么办?

如何使一个Apache 301redirect保留引用?

我的httpd.conf文件中有一个Apache 301redirect,它将所有stream量redirect到一个单一的域以进行规范化处理。 我最近注意到这个redirect不会保留标题中的引用。 RFC2616似乎表明在redirect时保留引用者是可选的,并且实际上在HTTP和HTTPS之间穿越时build议使用引用者。 虽然,我发现其他问题 ,其中一个简单的Apache 301redirect保留引荐,这通常是默认的情况下。 什么是可能影响这种行为的其他因素,我可以用来保护引用者? 是基于Apache服务器版本和/或客户端浏览器设置的唯一因素(IE。在我的控制之外)? 我的redirect: ServerAlias www.example.com sub1.example.com ## Redirect all sub-domains to www RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC] RewriteRule ^(.*)$ http://www.example.com$1 [R=301,L] 关于上面的重写规则,我正在访问http://sub1.example.com 。 我现在只是简单地使用HTTP,直到我能弄明白为止。 我确定引用链接的方式并没有被结转,只能通过浏览器手动访问redirect的网站,并打开开发者工具。 我也确定引用不包含在PHP的$_SERVER全球接收页面上。 我可以确认只有1个redirect发生。 服务器端语言是PHP。 这是初始页面(sub1.example.com)的请求标题: GET / HTTP/1.1 Host: sub1.example.com Connection: keep-alive User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36 […]

无法连接到Ubuntu Desktop中的端口80或VMWare Workstation 6.52中的Server 9.04

在将Ubuntu 9.04 Desktop或Server全新安装到VMWare Workstation 6.52虚拟机之后,我无法连接到任何远程站点(google.com等)上的端口80。 我可以ping远程站点,但是通过端口80的任何东西都不会连接。 例如, sudo apt-get update 最终会超时 wget http://google.com …将google.comparsing为74.125.45.100:80,但会超时。 ping google.com …正常工作。 我可以ping任何网站。 我的主机操作系统是Windows 7 Build 7068.我通过完全禁用防火墙来检查它是否是主机防火墙,并确保例外列表中的任何VMWare条目都允许端口80传入和传出(实际上条目设置为允许所有通信在所有的港口)。 有趣的是,如果我同时运行一个服务器虚拟机和一个桌面虚拟机,我可以使用服务器虚拟机的IP地址通过Firefox从桌面虚拟机访问服务器虚拟机的networking服务器。 所以虚拟机端口80的访问正常,但是远程主机端口80不工作。 每个虚拟机的networking适配器都处于NAT模式。 有任何想法吗? 编辑 – 解决: 事实certificate这是在Windows 7 beta下运行的VMWare 6.52的一个bug。 解决scheme是切换到桥接模式。 我必须从Ubuntu内部手动分配虚拟机networking适配器的IP设置才能使桥接模式工作,因为DHCP不起作用。