我见过有人建议将所有这些组合在一个流程中,但它们似乎有很多重叠的功能,所以我想深入了解为什么您可能想要在访问实际 Web 服务器之前通过 3 个不同的程序。
nginx:
漆:
快乐代理:
将所有这些链接到您的主要 Web 服务器之前是否只是为了获得它们的一些主要功能优势?
让这么多守护进程一起做类似的事情似乎很脆弱。
您的部署和订购偏好是什么?为什么?
FTP、FTPS、SFTP、SCP在传输速率上如何比较,如何通过测试进行比较?
这是一个瞬息万变的事件,目前还没有答案。
请不要发布您的发现或假设作为答案;保留答案字段以供您实际获得答案时使用。
如果您有新内容要添加,请直接将其编辑到问题中。
自今年年初以来,我通过用户代理获得了大量流量:
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729).
我的访问日志显示 40% - 60% 来自该用户代理。这很奇怪,因为用户代理声明了 Firefox 3.0.10 浏览器(有人在 2012 年使用该浏览器吗?绝对不是普通网站上 40%-60% 的访问者)。
此外,日志显示该用户代理仅请求 HTML 文档,没有引用图像、css、js 文件等资源。
我检查了这些请求的 IP(使用该 UA)。它来自世界各地。我认识到这些 IP 有时具有移动用户代理。
所以我怀疑是一个正在执行大量“蜘蛛请求”的移动应用程序。最好知道来自该用户代理的流量的根本原因。
在过去的几周里,我们意识到来自该 UA 的流量下降了,而其他流量却增加了。看起来机器人/爬虫现在使用的是更常见的 UA,因此更难阻止。我看到有人在回答这个问题时这么说,但是当 serverfault 决定重新安排这个问题时,它被删除了。
旧答案作为参考
来自Dee 的更新
我运行着自己的流量非常高的网站,我在上个月左右的 apache 日志中看到了完全相同的内容(我还没有机会进一步检查)。所有请求的 40% 是我看到的百分比,这显然很疯狂。
而且我还注意到请求似乎总是说请求浏览器不支持 gzip 压缩 - 导致所有网页请求都未经压缩发送,我们的带宽使用量激增!
但到目前为止,我一直无法确定到底发生了什么——到目前为止,我怀疑它可能是某种代理服务器,或者用于发送虚假用户代理字符串的移动设备。
编辑添加:只是做了一些更多的研究,看起来它可能是防病毒软件:http : //www.webmasterworld.com/search_engine_spiders/4428772.htm
来自jamur21 的更新
是的,我们注意到跨多个站点的类似流量。
我们仍在寻找根本原因,但我们的一些发现包括:
如果它是一只蜘蛛,它的工作就很糟糕。它似乎在一段时间内(可能几个小时)对每个域只敲击一个或两个 URL,直到它移动到另一个 URL。然而,内容总是相对“最新”的,这使谷歌新闻成为一个因素,正如 Dee 在他/她的回答中发布的链接所假定的那样(我们所有的网站都是新闻网站)。
虽然 …
我的网站只有一个 IPv4 地址。随着 IPv6 成为未来,如果网站没有 IPv6 地址,是否有可能某些用户可能无法访问该网站?此外,拥有 IPv4/IPv6 地址是否会提高 SEO 性能?
我们制造运行网络服务器的设备,用户可以通过直接浏览设备的 IP 来控制设备的某些功能。当使用直接 WiFi 或以太网连接时,这可以是固定 IP,但在大多数情况下,这是设备从网络中的 DHCP 服务器接收的 IP。
访问浏览器的一些更高级的功能需要越来越多的 HTTPS。例如访问缓存(https://developer.mozilla.org/en-US/docs/Web/API/Cache),允许使用网络摄像头(https://blog.mozilla.org/webrtc/camera -microphone-require-https-in-firefox-68/ ), Service Workers ( https://www.digicert.com/dc/blog/https-only-features-in-browsers/ ), ...列表保留每天都在成长。
我都赞成拥有安全系统,但我认为存在一个主要问题。HTTPS (TLS) 设置证书的方式仅在域名与证书中的域名匹配并且证书颁发机构被客户端浏览器接受时才被标记为有效,即所谓的信任链。这在使用固定主机名的网络上非常有效。
然而,当用户不使用互联网而是使用他们的本地网络时,主机名是事先不知道的。有时用户可以使用本地 DNS、mDNS,但情况并非总是如此。很多时候用户只使用内部 IPv4 地址。这是问题开始的地方,因为使用我们制造的设备有两种选择:
选项 2 是我们不强制设备通过 HTTPS 访问的原因,因为它只是向许多用户发出警报并淹没客户服务。五年前,这并不是真正的问题,因为没有 HTTPS 一切都可以完成。随着越来越多的 API 现在只能在“安全上下文”中工作,这对我们来说真的是一个问题。
因此,我认为设计一个完全在内部网络中使用 HTTPS 而不使用主机名系统的系统的需求变得非常大。我可以想象私有 IPv4 范围可以从警告或更聪明的东西中排除。这让我想到我的问题,您是否面临同样的问题,如何解决?
正如第一条评论中所指出的,现在提出的解决方案是使用通配符证书并为公共域上的设备配置 DNS 条目。然而,这存在客户端仍然需要活动互联网连接的问题。在此类设置中,情况当然并非总是如此。
我还发现了这篇关于 Let's encrypt 的文章,它在没有给出解决方案的情况下讨论了同一主题:https : //letsencrypt.org/docs/certificates-for-localhost/
阅读以下答案和评论后,我正在考虑针对该问题的可能的安全解决方案。下面的设置(如果允许的话)是否安全?
有哪些不同的方法/工具可以从客户端验证 keep-alive 是否在服务器上工作?
什么是无 cookie 域?我已经多次看到这些词,但我一直不明白它是什么。
我的网站是altoonadesign.com,如果您直接在浏览器中输入,它会将您带到正确的网站。但是,如果您搜索“altoona design”并单击指向我网站的链接,您将被重定向到恶意网站。
我在谷歌的 chrome 和 IE 的 bing 中尝试过这个。在不同的计算机上总是具有相同的结果。直接输入 url 会将您带到我的真实站点,单击搜索结果中的链接会将您重定向到恶意站点。
我不确定这是怎么发生的,如何撤消它,或者如何在将来防止它?
单击此处的链接也会将您带到恶意站点,因此单击链接似乎是它的作用,但是直接输入它不会重定向您...怎么回事?
我收到错误:
Bad Request
Request Line is too large (6060 > 4094)
Run Code Online (Sandbox Code Playgroud)
当我像这样访问服务器上的特定 url 时:
/api/categorize?packages=package1,package2,...packageN
Run Code Online (Sandbox Code Playgroud)
在 nginx.conf 我有:
large_client_header_buffers 8 16k;
client_header_buffer_size 8k;
Run Code Online (Sandbox Code Playgroud)
我找不到有关该特定问题的文档, large_client_header_buffers 的文档提到 400 Bad request,但将“large_client_header_buffers”从 4 8k 更改为;或 8 8k;或 8 16;没有解决问题。