大多数 IT 安全专业人员现在都非常清楚恶意机器人以及它们对任何在线业务所构成的持续威胁。因此,对反机器人软件的需求正在迅速增加。高效的机器人程序保护解决方案必须能够准确地区分不良机器人程序、良好机器人程序和人类,最好是实时进行。为了确定访问者是人还是机器人,我们可以从服务器端和客户端、浏览器或移动应用程序中收集信息。,,在下文中,我们将演示为什么完全依赖服务器端检测的解决方案对某些类型的机器人无能为力,以及为什么必须由客户端信号完成分析才能真正有效地保护机器人。,服务器端指纹识别基本机器人,服务器端检测通常基于以下信息:,HTTP指纹:由浏览器发送的HTTP头组成的指纹,例如用户代理或支持的压缩算法。,TCP 指纹:TCP 指纹利用 TCP 堆栈中的差异(例如数据包的顺序)来确定发送请求的浏览器或设备的性质。,TLS 指纹:这些指纹使用一组受支持的TLS 密码套件来识别发出请求的设备和软件(例如移动应用程序)的性质。,服务器端行为特征:请求的数量、频率、是否存在浏览模式,可以用来判断用户是否为人。,这种服务器端检测是必要的主要措施,但还不够。,服务器端机器人检测的局限性是什么?,面对最新一代的机器人程序,仅具有服务器端检测功能的安全解决方案很快就会遇到其局限性。这是因为这些高级机器人使用与人类用户完全相同的浏览器——Chrome、Firefox、Safari——或像 Headless Chrome 这样的无头浏览器。,与不能执行 JavaScript 的基本机器人不同,这些高级机器人具有一致的 HTTP、TCP 和 TLS 指纹。,此外,无论何时存在小的不一致,例如非人类用户代理,都可以通过向机器人添加几行代码或使用开源检测框架来伪造一致的指纹来轻松修复(我们将对此进行更详细的讨论以下)。,如果您只做服务器端检测,那么您对这些机器人程序完全视而不见。您唯一的机会是依靠服务器端的行为特征,并等待机器人触发您的请求量阈值,然后您才能阻止它们。,这种方法总是会错过使用代理频繁更改其 IP 地址的机器人。即使他们不这样做,在您识别并阻止它们时,针对客户关键接触点(例如您的登录页面)的机器人可能已经造成了很多伤害。这就是为什么真正有效的机器人检测解决方案必须将服务器端检测与客户端检测相结合的原因。,客户端机器人检测功能:,客户端(浏览器内)跟踪可以记录和分析有关用户设备和浏览器发出请求的各种低级事实,以及行为信号。,例如:,浏览器跟踪:功能存在、js 挑战……,应用跟踪:相机版本、屏幕分辨率、触摸点数量……,设备跟踪:CPU 内核数、设备内存、GPU……,用户事件跟踪:鼠标移动和触摸事件……,这些客户端信号对于检测最先进的机器人程序至关重要,即使它们伪造指纹以绕过不太复杂的安全系统也是如此。但是不要相信我们的话:让我们通过放大一个特定的用例和一种客户端检测方法,向您展示当您不收集任何客户端信号时会发生什么。,用例:修改指纹以避免检测的高级无头 Chrome 机器人。,在此用例中,恶意行为者试图使用数千个基于 Headless Chrome 和Puppeteer 的机器人进行撞库攻击。,默认情况下,Headless Chrome 可以通过其用户代理在服务器端被识别:,Mozilla/5.0 (X11; Linux x86_64),AppleWebKit/537.36 (KHTML, like Gecko),HeadlessChrome/79.0.3945.88,Safari/537.36,但是,流行的开源库(例如Puppeteer extra)使开发人员能够擦除这些明显的检测信号。,Puppeteer extra 库为 Puppeteer 检测框架添加了更多功能。得益于其隐身插件,黑客可以轻松修改其 Headless Chrome 机器人的指纹。仅此一项就足以绕过大多数现有的机器人检测系统。,默认情况下,Puppeteer extra 将更改机器人的用户代理,以便它们与人类访问者保持一致,并删除传统上用于检测 Headless Chrome 的属性,例如navigator.webdriver 。,该库还使机器人开发人员能够伪造其他几个属性,例如插件列表、可用编解码器或 GPU。,如果您想自己尝试,可以使用以下代码轻松启动基于 Puppeteer 隐身的爬虫。与传统的 Puppeteer 程序相比,主要区别在于您不导入puppeteer,而是导入 puppeteer-extra:,const puppeteer = require(‘puppeteer-extra’),// 启用带有所有规避的隐身插件,puppeteer.use(require(‘puppeteer-extra-plugin-stealth’)());,(async () => {,// 以无头模式启动浏览器并设置页面。const,browser = await puppeteer.launch({,headless: true,}),const page = await browser.newPage(),// 导航到将执行测试的页面。,const url = “https://你的网站……”;,等待 page.goto(url),等待 browser.close(),})(),如果您现在验证机器人的用户代理,您可以看到它已成为合法用户代理:,const userAgent = await page.evaluate(() => {,return navigator.userAgent;,}),console.log(userAgent),// Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome /80.0.3987.0 野生动物园/537.36,Headless Chrome 有一个等于 true 的navigator.webdriver属性。当我们在 Puppeteer stealth 中验证这个值时,我们可以看到navigator.webdriver不再出现在 bot 的指纹中,这使得这种技术无法检测到它。,const webdriver = await page.evaluate(() => {,return navigator.webdriver;,}),console.log(webdriver),// undefined,由于用户代理和 HTTP 标头都与人类用户相同,因此简单的服务器端 HTTP 指纹识别不足以将此访问者识别为机器人。如果您的...
服务器是网络中的计算机程序或设备,它向客户端计算机提供资源、数据、服务或程序,例如登录请求处理、文件访问和存储、互联网访问、打印访问和许多其他类型的服务。这种体系结构称为客户端-服务器模型。服务器通常被称为专用服务器。,,在计算中,通过网络连接处理请求和传送数据的专用机器通常也称为服务器。服务器大多配备额外的硬件,例如大量的外部存储器(RAM)、更多的数据存储容量(硬盘)、高处理速度和其他功能。在客户端/服务器编程模型中,服务器是计算机程序的一个实例,它通过Internet为局域网 (LAN) 或广域网 (WAN) 上的另一个程序提供服务,它可能在同一台计算机或其他计算机上运行。服务器通常是专用的,这意味着它们除了服务器任务外不执行其他任务。计算机中的给定应用程序可以充当客户端,请求来自其他程序的服务,也可以充当来自其他程序的请求的服务器。, 服务器类型:,在下面的列表中,有一些常见的服务器类型:,它是一种存储多种类型的文件并将它们分发给网络中其他客户端的服务器。,打印服务器:控制一台或多台打印机并接受来自网络上其他客户端的打印作业,排队打印作业(尽管您也可以更改不同打印输出的优先级),并 执行工作场所中的大部分或所有其他功能如果 打印机直接与工作场所的打印机端口相连,则执行获取印象的任务。,邮件服务器:为网络上的客户端存储、发送、接收、路由和执行与电子邮件相关的其他操作。,传真服务器:存储、发送、接收、路由和执行正确传输、接收和分发传真所需的其他功能。,,电话服务器:执行与电话相关的功能,例如应答机、执行语音响应交互系统的功能 、存储语音消息、路由呼叫以及控制网络或互联网。例如,过多的 IP 语音 (VOIP) 条目等。,代理服务器:代表网络中的其他客户端执行特定类型的功能,以增加特定 操作的操作(例如,预取和存放文档或其他请求非常频繁的数据),还提供安全 服务,即它包括一个防火墙。它允许在允许或拒绝访问不同网站的计算机网络中管理对互联网的访问 。,远程访问服务器(RAS):控制监视器的调制解调器线路或网络的其他通信通道,以便请求 从远程位置连接到网络,接听来电或确认网络请求并 执行必要的身份验证以及在网络中注册用户的其他必要程序。,Web 服务器:存储 HTML 文档、图像、文本文件、脚本和其他由数据组成的 Web 材料(统称为 内容),并将这些内容分发给在网络上提出请求的客户端。,数据库服务器:按照客户端-服务器模型的定义,为其他程序或其他计算机提供数据库服务。您也可以 指那些专用于执行那些程序、提供服务的计算机(服务器)。,备份服务器:安装了网络备份软件,并有大量的网络存储硬盘或其他形式的 存储(磁带等)可供使用,以确保主服务器的丢失不会影响网络。这种技术 也称为聚类。,安全服务器:它有专门的软件来阻止恶意入侵。通常,它们具有防病毒、反间谍软件、反恶意软件,除了 具有不同级别和层次的冗余防火墙以避免攻击之外,安全服务器根据其 用途和重要性而有所不同。,, 网络服务器和专用服务器之间的区别,网络服务器是网络中指定提供一项或多项网络服务的计算机。例如文件服务器、数据库服务器等。网络服务器是一台专用计算机,用作数据和程序的中央存储库,网络上的所有计算机都连接到它并发出请求。,网络服务器与工作站具有相同的硬件,但它们的功能和用途不同。网络服务器有助于简化系统管理员的工作量。任何网络安全和配置都可以应用于网络服务器,而不是单独传递给连接到网络的不同计算机。指定提供一项特定服务的网络服务器称为专用服务器。专用服务器是一种完全专用于客户公司并允许一家公司租用和访问的远程服务器;它被称为专用服务器。例如,如果一台计算机仅分配给数据库服务,则该计算机称为专用数据库服务器。, ,服务器是网络中的计算机程序或设备,它向客户端计算机提供资源、数据、服务或程序,例如登录请求处理、文件访问和存储、互联网访问、打印访问和许多其他类型的服务。这种体系结构称为客户端-服务器模型。服务器通常被称为专用服务器。,,
在计算中,服务器是计算机程序或设备,它为被调用的客户端(其他程序或设备)提供功能。这种架构称为客户端-服务器模型。单个整体计算分布在多个进程或设备上。服务器可以提供称为服务的各种功能。这些服务包括共享数据或资源在多个客户端之间,或为客户端执行计算。一个服务器可以服务多个客户端,一个客户端可以使用多个服务器。客户端进程可以在同一设备上运行。它还可以通过网络连接到服务器以在不同的设备上运行。服务器的示例可以包括数据库服务器、邮件服务器、打印服务器、文件服务器、网络服务器、应用程序服务器和游戏服务器。,,最常见的客户端-服务器系统是由请求-响应模型实现的,即客户端向服务器发送请求。在此模型中,服务器执行某些操作并将响应发送回客户端,通常带有结果或确认。将计算机指定为服务器级硬件意味着它专门用于在其上运行服务器。这意味着它比标准个人计算机更强大、更可靠。但大型计算集群可能由许多相对简单、可更换的服务器组件组成。,服务器类型及其应用:,应用程序服务器——这些服务器托管网络应用程序(在网络浏览器中运行的计算机程序),允许网络中的用户运行和使用它们,防止在他们自己的计算机上安装副本。这些服务器不必是万维网的一部分。他们的客户是带有网络浏览器的计算机。,目录服务器——这些服务器维护一个索引或信息目录,可以在大型分布式网络中找到这些信息。分布式网络可能包括计算机、用户、文件服务器上共享的文件和网络应用程序。目录服务器的示例是目录服务器和名称服务器。他们的客户是任何需要在网络上查找内容的计算机程序。示例可以是尝试登录的域成员、查找电子邮件地址的电子邮件客户端或查找文件的用户,通信服务器——这些服务器维护一个通信端点寻找其他端点然后与它们通信所需的环境。这些服务器可能包含也可能不包含通信端点目录和存在检测服务,具体取决于网络的开放性和安全性参数。他们的客户是通信端点。,计算服务器——这些服务器通过网络共享大量计算资源,包括 CPU 和随机存取存储器。任何需要比个人计算机可能承受的更多 CPU 能力和 RAM 的计算机程序都可以使用这些类型的服务器。客户端必须是联网的计算机才能实现客户端-服务器模型,这是必要的。,,数据库服务器——这些服务器通过网络维护和共享任何形式的数据库。数据库是有组织的数据集合,具有可以显示在表格中的预定义属性。这些服务器的客户端是电子表格、会计软件、资产管理软件或几乎任何使用组织良好的数据(尤其是大量数据)的计算机程序。,传真服务器——这些服务器通过网络共享一台或多台传真机,从而消除了物理访问的麻烦。任何传真发件人或收件人都是这些服务器的客户端。,文件服务器——通过网络共享文件和文件夹、保存文件和文件夹的存储空间,或两者兼而有之 联网的计算机是预期的客户端,即使本地程序可以是客户端,游戏服务器——这些服务器使多台计算机或游戏设备能够玩多人游戏。个人电脑或游戏机是他们的客户。,邮件服务器——这些服务器使电子邮件通信成为可能,就像邮局使蜗牛邮件通信成为可能一样。这些服务器的客户端是电子邮件的发件人和收件人,打印服务器——这些服务器通过网络共享一台或多台打印机,从而消除了物理访问的麻烦。他们的客户是需要打印东西的计算机。,代理服务器——该服务器充当客户端和服务器之间的中介,接受来自客户端的传入流量并将其发送到服务器。使用代理服务器的原因包括内容控制和过滤、提高流量性能、防止未经授权的网络访问或简单地在大型复杂网络上路由流量。客户端是任何联网的计算机。,,Web 服务器——这些服务器托管网页。Web 服务器负责使万维网成为可能。每个网站都有一台或多台网络服务器。客户端是带有网络浏览器的计算机。, ,在计算中,服务器是计算机程序或设备,它为被调用的客户端(其他程序或设备)提供功能。这种架构称为客户端-服务器模型。单个整体计算分布在多个进程或设备上。服务器可以提供称为服务的各种功能。这些服务包括共享数据或资源在多个客户端之间,或为客户端执行计算。一个服务器可以服务多个客户端,一个客户端可以使用多个服务器。客户端进程可以在同一设备上运行。它还可以通过网络连接到服务器以在不同的设备上运行。服务器的示例可以包括数据库服务器、邮件服务器、打印服务器、文件服务器、网络服务器、应用程序服务器和游戏服务器。,,
在 Linux 操作系统中,反向代理充当主机(客户端)和服务器之间的链接。它接收客户端请求并将它们传递给其他服务器,最后将服务器的响应传递给客户端,就好像它们来自代理服务器本身一样。在本教程中,我们将向您展示什么是Nginx反向代理以及如何在您的VPS上设置它!,,客户端和服务器不断交换信息以高效工作。通常,反向代理由网络服务器使用。反向代理或网关在客户端看来就像一个普通的 Web 服务器,不需要特殊配置。客户端发出普通请求,而反向代理决定将信息传递到何处,将最终输出传递给客户端,就好像它是来源一样。Nginx反向代理具有广泛的优势。它是互联网上使用最活跃的开源服务器之一。,让我们深入探讨解释此工具为何如此受欢迎的原因:,所有这些好处只是冰山一角!您使用 Nginx 反向代理的次数越多,您会发现的功能就越多!,现在,我们将在 Apache Web 服务器前配置 Nginx。我们选择 Apache 服务器是因为它更擅长处理动态内容。所以,所有的静态内容都将转到 Nginx,而动态内容将转到 Apache。这将通过基于处理标准优化内容交付来提高性能。接下来,我们将 Nginx Proxy Server 的 IP 地址定义为192.xx1,将后端 Apache 服务器的 IP 地址定义为192.xx2。设置 Apache 后,我们可以继续执行以下步骤:,,我们将在 Ubuntu 18.04 上使用 apt 命令:,安装 Nginx 后,请按照以下命令禁用虚拟主机:,禁用虚拟主机后,我们需要在etc/nginx/ sites-available目录下创建一个名为reverse-proxy.conf的文件来保存反向代理信息。,为此,我们应该首先使用 cd 命令访问该目录:,然后我们可以使用 vi 编辑器创建文件:,在文件中,我们需要粘贴这些字符串:,在上面的命令中,重要的一点是代理传递允许通过 Nginx 反向代理的请求传递到192.xx2:80,这是 Apache 远程套接字。因此,Web 服务器(Nginx 和 Apache)共享内容。,完成后,只需保存文件并退出 vi 编辑器。您可以通过键入:wq来完成此操作。,要将信息传递给其他服务器,您可以在终端中使用ngx_http_proxy_module 。,现在,使用以下命令链接到/sites-enabled/来激活指令 :,最后,我们需要运行 Nginx 配置测试并重启 Nginx 以检查其性能。键入以下命令以验证 Nginx 在 Linux 终端上是否正常运行:,请记住,如果您收到一个失败的测试,那很可能表明 Apache 没有正确设置。,在 Linux 操作系统中设置 Nginx 反向代理有很多好处。它可以有效地提高性能并增强针对恶意软件的安全性。Nginx 反向代理配置是 Linux 终端中的一个简单过程。尽管有多种安装和配置它的方法,这完全取决于您的要求,但上面的教程简单易懂,可以帮助您开始设置反向代理。, ,在 Linux 操作系统中,反向代理充当主机(客户端)和服务器之间的链接。它接收客户端请求并将它们传递给其他服务器,最后将服务器的响应传递给客户端,就好像它们来自代理服务器本身一样。在本教程中,我们将向您展示什么是Nginx反向代理以及如何在您的VPS上设置它!,,
客户端-服务器架构是一种分布式计算架构,其中特定服务器管理一个或多个客户端计算机使用的资源和服务。网络提供所有请求和服务。这与其他网络通信架构(例如客户端系统直接相互访问的对等网络)相比。,,在任何客户端-服务器架构系统中,服务器是生产者,而客户端是消费者。服务的资源几乎可以包括任何东西,从访问 SaaS 应用程序、联网打印机和(通常)更快的服务器处理器到文件存储和共享。,客户端-服务器模型看到各个客户端系统使用公共网络连接向服务器发送请求。然后服务器处理并完成请求,通过同一网络将其传送到客户端系统。但是,设置很少如此简单。大多数服务器管理许多客户端系统,而许多客户端系统连接到几个不同的服务器,每个服务器专门处理一种或多种类型的数据或系统资源。这种客户端-服务器模型是我们曾经称为 Web 2.0 的核心,互联网成为连接服务器与客户端系统的最常见网络。,在问什么是客户端-服务器架构之前,您应该知道没有唯一的答案。毕竟,并非所有的客户端-服务器网络都是相同的。最常见的客户端-服务器架构类型是:,最终,Web 2.0 风格的客户端-服务器架构通过在中央集线器中管理应用程序和数据来工作。这种客户端-服务器网络使得数据传输和共享相对容易。它还允许中心服务器保护数据的完整性和网络的安全。,客户端-服务器网络可以确保所有数据传输都是加密的(就像你在网上已经知道的 https 链接),并且服务器可以在机械故障或网络连接不稳定的情况下提供多个冗余备份系统。虽然这比为每个最终用户安装所有必要的硬件、数据和软件的副本更慢并且更费力,但它的成本要低数千倍。如果我们不能依赖客户端-服务器网络架构的可扩展性和效率,Web 就不会是今天的样子。,客户端-服务器架构的核心概念是远程工作站和中央数据或进程服务器。服务器可能是 IT 国家的一台大型机器,通过云连接的一百万个随时需要的设备中的任何一个,或者是距离您办公室几英里的大型商业服务器场的围栏部分。如果一切正常,您将永远不需要知道所有数据和处理能力的物理位置。,对于客户端-服务器架构示例,请考虑您阅读本文时可能使用的浏览器——移动设备或桌面设备。您的手机、台式机、笔记本电脑或其他设备是此模型中的客户端。您单击了该博客的链接,DNS 服务器找到了文本副本的最方便位置,并为您提供了您正在阅读的页面。,,专用服务器架构允许为每种类型的应用程序或数据使用一台服务器。这在速度和网络故障排除方面可能是有利的。它也可能更昂贵——毕竟你必须保持几个独立的服务器连接和运行。例如,您可能有一个单独的应用程序服务器和电子邮件服务器。, 优点:, 缺点:,与对等网络相比,客户端-服务器网络模型具有多项优势,包括更高的安全性和更易于维护。但是,它也有一些缺点,例如服务器维护成本较高。如果您需要帮助确定哪种类型的网络适合您的业务,Liquid Web 的专家团队可以帮助您做出决定。, ,客户端-服务器架构是一种分布式计算架构,其中特定服务器管理一个或多个客户端计算机使用的资源和服务。网络提供所有请求和服务。这与其他网络通信架构(例如客户端系统直接相互访问的对等网络)相比。,,
网络上的计算机和其他设备可以通过万维网(WWW)进行通信和共享资源,而万维网是基于客户端-服务器模型的。客户端-服务器是一种关系,在这种关系中,程序向 Web 上的另一个程序请求某些资源或服务。请求服务的程序称为客户端,完成此请求的程序称为服务器。首先,在共享资源和其他服务之前,它们之间建立连接,当服务器执行完客户端的所有请求时,连接终止。,, 此外,客户端不能与服务器共享它们的任何资源,并且主要通过使用 TCP/IP 协议族与它们通信。一个主要优点是它是一个集中式系统,因此您不必去其他地方获取资源。此外,您可以根据需要分别更改客户端和服务器的容量。本文将详细讨论与客户端和服务器相关的所有基本内容,例如它们的类型、它们之间的区别等。, 当我们谈论数字世界中的客户端这个词时,它可以是通过网络发出某些请求的设备、机器或程序。客户端能够从网络上的其他机器请求一些信息或服务。接收该请求的其他设备称为远程计算机或服务器。所有这些请求都通过网络发送到服务器。, 此外,最终用户可以通过客户端轻松访问其他数据或资源。所有客户端程序都在本地机器上运行,可以是您的台式机、笔记本电脑、智能手机、平板电脑等。在这些本地机器上完成的工作称为客户端工作。, 此外,用户可以通过客户端建立连接来请求服务,连接在收到服务后终止。客户端也可以同时向类似的服务器请求多个服务。从其他设备获得在线支持的程序也称为客户端。此外,客户端不如服务器强大和直接,只能用于简单的任务。客户系统的配置也很简单,因为它们只生成请求。您可以放心地关闭它们。,, 正如我们之前讨论的,客户端可以是一个简单的应用程序,也可以是访问 Web 上的远程计算机(服务器)的整个系统。客户端和服务器之间的连接可以通过域套接字、共享内存、Internet 协议等不同方式建立。此外,您还可以使用不同类型的网络在它们之间建立连接,例如局域网或广域网区域网络。客户端可分为三种类型——厚型、瘦型和混合型。让我们详细讨论一下。, 1.胖客户端, 胖客户端也可以称为胖客户端或富客户端。胖客户端可以自己做很多数据处理操作,处理工作不依赖于服务器。它主要在需要某些信息或上传某些内容或更新任何数据时连接到服务器。许多应用程序本地安装在胖客户端机器上,这就是为什么它可以在不与中央服务器建立连接的情况下运行它们。此外,胖客户端具有大量特性和功能,可以减少对服务器的依赖。胖客户端的其他功能包括存储、内存和处理。此外,胖客户端的所有这些功能都减少了服务器上的负载。所有处理都在客户的计算机上完成。这就是它提供更丰富的图形用户界面的原因。, 2.瘦客户端, 这是第二种类型的客户端,与胖客户端相比功能非常少。它可以是一个软件程序,也可以是一台计算机,它的大部分工作都依赖于其他计算机。所有的数据处理工作都在应用服务器上完成,瘦客户端的工作就是显示处理结果。此外,它的大部分资源都依赖于服务器。瘦客户端由于功能较少,易于维护和使用。此外,它们也没有足够的外围设备,例如光驱、输入/输出端口等,这导致性能较低。瘦客户端用于学校、图书馆和企业,在这些地方,许多人访问中央服务器以获取某些信息或其他资源。,, 3.混合客户端, 混合客户端也称为网络计算机或无盘节点。它是胖客户端和瘦客户端的组合。它是一种没有任何磁盘驱动器并使用网络引导来加载其操作系统的工作站或个人计算机。与胖客户端一样,它也进行大部分处理,但存储服务器的数据。此外,它还具有两种客户端的混合特性,例如多媒体支持、高性能、高可管理性和灵活性。此外,混合客户端还具有降低生产和运行成本的优势。由于集中式磁盘存储技术,这种类型的客户端系统也降低了存储成本。, 我们已经详细讨论了什么是客户端及其类型。现在让我们讨论如何将设备设置为网络中的客户端。客户端可以是您的计算机、笔记本电脑或智能手机。要使您的设备成为客户端,请执行以下步骤:,第 1 步:首先,将您的设备连接到路由器。为此,将以太网电缆的一端连接到设备的网卡,将另一端连接到路由器以建立连接。,第 2 步:接下来,打开您的设备和路由器。,第 3 步:在您的设备上安装客户端操作系统。有许多可用的操作系统。您可以根据需要安装其中任何一个。,第 4 步:为提高设备的安全性,请在发送任何请求之前更新设备的 Windows。这将防止错误并保护您的系统。,第 5 步:现在,右键单击“我的电脑”将您的设备连接到域。,第 6 步:从中选择属性,在属性对话框中选择“计算机名”选项卡。,第 7 步:在这里,在“更改”按钮中,您可以根据需要更改设备名称和域。,第 8 步:输入用户名和密码以连接到域。,第 9 步:现在,重新启动设备。,第 10 步:您现在可以访问域并登录到服务器以发送对资源和信息的请求。,, 在详细解释了客户端的所有关键概念之后,是时候讨论另一个基本术语,服务器了。服务器可以是向客户端提供服务或其他信息的计算机、设备或程序。当它们为其他计算机提供服务时,它们被称为服务器。一台机器可以有多台服务器,一台服务器可以同时为多个客户端提供服务。单个设备也可以同时具有客户端和服务器。有不同 类型的服务器 可用,例如文件服务器、数据库服务器、打印服务器、网络服务器等。, 此外,服务器的服务效率非常高,并提供高水平的性能。此外,它们还可以存储和分析大型数据集。客户端依赖于它们来获取许多系统资源和有用的信息,例如查看电子邮件、浏览网站、通过网络与其他用户通信等。所有网络资源,例如托管网站、传输数据、访问控制等,也由他们管理。此外,服务器允许多个用户登录并可以同时处理大量请求。因为要完成很多艰巨的任务,他们的硬件配置也很复杂,但也很先进。您必须让大多数服务器始终保持开机状态,因为客户端系统的请求依赖于它们,因此关闭它们对客户端来说可能是危险的。, 如前所述,服务器是连接到网络的稳健系统或计算机。它们的主要任务是与其他计算机共享数据、资源或其他服务。此外,服务器可以同时是客户端。今天有许多类型的服务器可用。大型计算机或小型计算机是最早的服务器类型,但随着技术的进步,它们的类型发生了许多变化,每台服务器都执行不同的功能。此外,同一网络中可以有不止一种服务器类型。让我们详细讨论其中的一些。,, 1.文件服务器, 这是为多个用户存储数据文件的主要类型的服务器,主要由组织使用。存储在此类服务器中的文件比存储在个人计算机上的文件更安全。此外,将文件存储在文件服务器中可提供良好的备份设施,进一步提高数据的安全性和完整性。文件的读写在这类服务器上也非常快,所以性能也有所提高。此外,用户可以毫无困难地通过网络使用和共享它们。, 2.打印服务器, 这种类型的服务器通过网络为客户端计算机提供打印功能。您不需要将不同的打印机连接到每个设备,并且您可以只使用一个打印服务器来处理来自其他客户端的多个打印请求。此外,今天有一些先进的打印机可用。这些打印机带有内置的打印服务器,因此您无需将打印服务器添加到网络中,就可以使用这些先进的打印机来处理客户端的多个打印请求。, 3. 应用服务器, 应用服务器的主要目的是处理客户端的软件应用请求。客户端不需要在他们的设备上安装和维护不同的应用程序,他们可以通过向服务器发送请求来远程访问它们。这些类型的服务器适用于企业,因为通过在中央服务器上安装所有资源密集型应用程序可以降低成本。, 4.网络服务器, 这是使用最广泛的服务器类型,用于存储 Web 信息。客户端可以从其 Web 浏览器请求信息,并通过 HTTP 代码检索信息。这些类型的服务器在本地设备和网站之间建立连接。 此外,您可以在不同类型的操作系统 上运行 Web 服务器,并可以使用它们运行任何应用程序。,, 5.数据库服务器, 这些类型的服务器存储了大多数公司和用户使用的大量数据。所有的数据库应用程序都由这些服务器运行,它们可以同时处理不同客户端的所有数据请求。您可以运行它们而不必担心系统的数据库架构。这些类型的服务器的一些示例是 Oracle、Informix、SQL Server 等。, 6.虚拟服务器, 这是最具成本效益的服务器类型,因为其中使用虚拟空间来存储数据并将数据连接到其他设备。一个名为 hypervisor 的特殊软件用于创建虚拟服务器。您可以使用此软件一次运行数千个虚拟服务器。这就是成本也较低的原因。专门分配给他们使用的物理硬件资源,如 RAM、CPU 等。, 众所周知,服务器处理客户端发送的所有资源请求,它们是功能强大的机器,可以同时处理多个请求。它们的组成不同,取决于您使用的网络类型。但是,所有服务器共有的基本组件是域控制器、DHCP 和 DNS。要使您的设备成为网络中的服务器,请执行以下步骤:,第 1 步:首先,按照我们在客户端系统中讨论的相同方式将您的设备连接到路由器。,第 2 步:打开设备和路由器的电源。,第 3 步:现在,在你想做服务器的设备上安装网络操作系统。这将创建您的网络。给它一个合适的名字来将你的设备设置为域控制器。,,第 4 步:然后,要创建实际的域、用户帐户和计算机帐户,请将活动目录组件安装到您的设备上。您可以通过单击“开始”菜单中的“管理您的服务器”选项来执行此操作。这将打开服务器管理程序。现在从中单击“添加或删除角色”。将打开一个新窗口,然后单击“下一步”。此处将显示不同功能的列表,从中选择“域控制器”。单击“下一步”,将开始安装活动目录。,第 5 步:此外,通过单击安装向导窗口中的“下一步”按钮,您可以在您的设备上安装 DHCP 和 DNS,为每台计算机分配一个唯一的 IP 地址。在安装过程中提供正确的域名和管理员密码。,第 6 步:安装过程结束后,将出现一条消息提示您重新启动设备。单击它以重新启动计算机。,第 7 步:现在,从“管理工具”中再次选择“管理您的服务器”程序。单击“管理 Active Directory 中的用户和计算机”选项卡,为域中的每台计算机和用户添加计算机对象和用户帐户。,第 8 步:之后,将您的网络操作系统磁盘放入设备中,为您的服务器选择角色。选择“添加组件”。不同角色的列表将出现在那里。如果要创建文件服务器,可以从中选择“文件服务器”,然后单击“下一步”。,第 9 步:所有文件共享组件将由 Windows 自动开始加载。,第 10 步:此外,将创建一个共享向导,您可以借助它来创建共享文件夹。,第 11 步:现在,您可以与域中连接的设备和用户共享所有系统文件。,, 我们知道,客户端向服务器发送请求以获取某些信息或资源,然后服务器处理这些请求并将所需的结果或信息发送回客户端。可以说客户端在很多方面都依赖于服务器。除此之外,还有很多东西两者是不同的。让我们详细讨论一下。,, 在本文中,我们详细讨论了客户端和服务器的概念。客户端和服务器都是网络系统的重要组成部分,代表了网络上协作设备或程序之间的关系。它们允许设备进行通信和共享资源。客户端的作用是向服务器发送请求以获取资源和其他信息,而服务器的作用是响应这些请求。此外,大多数作为数字通信基础的网络协议都在这种客户端-服务器模型上工作。, 此外,客户端和服务器之间的所有通信都是根据标准通信协议进行的,主要使用TCP/IP协议族。此外,它们之间的连接会一直保持到消息交换完成为止。资源、数据和其他信息的共享使它们成为网络系统的重要组成部分。希望您现在对客户端和服务器都有很好的理解。, , 网络上的计算机和其他设备可以通过万维网(WWW)进行通信和共享资源,而万维网是基于客户端-服务器模型的。客户端-服务器是一种关系,在这种关系中,程序向 Web 上的另一个程序请求某些资源或服务。请求服务的程序称为客户端,完成此请求的程序称为服务器。首先,在共享资源和其他服务之前,它们之间建立连接,当服务器执行完客户端的所有请求时,连接终止。,,第 6 步:从中选择属性,在属性对话框中选择“计算机名”选项卡。
FTP,也称为文件传输协议,是一种用于通过计算机网络传输文件(图像、文本、软件和其他文件)的网络协议。 使用 FTP,在传输文件时可以更好地管理文件并且更安全。FTP 使用客户端-服务器模型,这意味着文件可以从FTP 客户端移动到需要它们的服务器。 FTP 文件传输过程受SSL /TLS保护,在更高级的情况下,它被 SFTP 取代,后者提供额外的安全层,称为Secured Shell 或 SSH 。,,第一代 FTP 标准是在1971 年至1980年间开发的。第一个 FTP 标准于1971年由RFC 114发布。1971 年到1980 年间,标准 RFC 172、256、354发布,定义了基本的 FTP 命令。 第二 代 FTP 标准于1985 年至1997 年间发布。使用这些标准,定义了密码身份验证和防火墙友好的传输。引入了第三代标准,一种称为托管文件传输或 MFT的新解决方案。MFT 解决方案可替代基本的 FTP 服务器。它还支持 FTP 和 SFTP 协议。在我们了解 FTP 的工作原理之前,有必要了解什么是 FTP 客户端和服务器。,FTP 客户端是一个易于使用、直观的界面,有助于促进和简化文件传输过程。 需要在您的计算机上安装 FTP 客户端,并且某些客户端只能在实时连接到 Internet 时使用。一个FTP客户端界面分为两个。左侧面板显示您计算机上的文件,右侧面板显示远程服务器上的文件。,FTP 服务器是传输文件上传或下载的地方。FTP 服务器还充当文件发送者和接收者之间的中间人。,FTP 服务器的一些好处包括:,FTP 通过使用称为命令和数据通道的两个不同的通信通道建立连接来工作。命令通道启动指令和响应,而数据通道负责数据分发。通过 命令通道,授权用户将使用该协议请求从服务器获取或传输文件,而服务器将同意此请求作为回报。这称为主动连接模式。 在被动连接模式下,服务器监听而不是与用户建立连接。在这种被动模式下,用户同时使用命令和数据通道。, ,FTP,也称为文件传输协议,是一种用于通过计算机网络传输文件(图像、文本、软件和其他文件)的网络协议。 使用 FTP,在传输文件时可以更好地管理文件并且更安全。FTP 使用客户端-服务器模型,这意味着文件可以从FTP 客户端移动到需要它们的服务器。 FTP 文件传输过程受SSL /TLS保护,在更高级的情况下,它被 SFTP 取代,后者提供额外的安全层,称为Secured Shell 或 SSH 。,,
每天,游戏行业都在以惊人的速度发展,与全球客户群的指数级扩张同步。网络和服务器滞后可能会导致游戏玩家响应迟缓并与游戏断开连接。因此,解决这些问题已成为游戏社区的当务之急,以改善玩家体验。可靠的服务器、实时数据分析和低延迟对于高质量的内容和出色的玩家体验至关重要。,,这使得游戏自然适合在云上运行。此外,由于云计算提供了灵活且可扩展的基础设施,游戏公司不再需要估计他们将需要的游戏服务器,甚至不需要提前进行额外购买。,手机游戏现在是游戏行业中最大的部分。随着现代移动技术的发展足以处理中等到繁重的游戏,许多主机游戏公司已进入移动领域。手机游戏倾向于创新、VR/AR、移动性、连接性,甚至走向全球。移动游戏的底层架构应该能够处理繁重的工作负载和全球连接,同时将成本保持在最低水平,从而使云计算成为移动游戏公司的最佳选择。,Global Server Game Acceleration(或Global Accelerator)的架构是建立在单一区域部署的中心化游戏服务器和全球部署的具有加速公共网络访问的边缘位置。玩家通过高速通道在地理上被路由到最近的边缘位置。这有助于最大限度地减少延迟,确保高质量的性能和可用性,并实现全球加速。,目前,全球服务器游戏的主要痛点是不同地区的玩家网络延迟不同导致的游戏体验不公平。第三方专用网络连接的价格和质量变化等技术复杂性,全球边缘位置部署涉及的高运维成本,复杂的代理等等。,游戏开发者可能会遇到以下问题:,这些问题使得阿里云移动加速器最适合解决客户端与边缘站点之间的“最后一公里”加速。见下图。,,使用阿里云全球加速,您无需手动配置到边缘站点的内容交付加速,这可能很复杂,并且需要长时间调试。全球加速确保您的高可用性、可扩展性、性能和灵活的路由。,基本上,全球加速通过使用EIP(弹性IP地址)将中心化服务器上的ECS实例或VPC负载均衡实例映射到公网来提供点对点加速。全球加速加速跨区域、跨国连接服务器,如下图:,,通过将移动加速与全球加速相结合,我们可以加速从服务器到客户端的整个数据路径。在该方案中,移动加速基于动态路由加速客户端与边缘站点之间的连接,而全球加速通过高速通道加速中心服务器与边缘站点之间的连接。见下图。,,在本文中,我们研究了几种支持全球游戏服务器的架构设计,并评估了每种设计的优缺点。,全球排名设计,在设计全球排名服务时,必须考虑需求、分析、数据结构、排名数据持久化、排名服务器单点故障等问题。一个排名服务架构如下图所示:,,该架构使用Redis实现定时数据。游戏服务器向排名服务器上报排名数据。客户端从游戏服务器拉取排名数据,游戏服务器从排名服务器拉取排名数据。,游戏时间设计,所有游戏服务器均使用GMT Jan 1, 1970 00:00:00 offset(一般秒数绝对值1)来表示游戏时间。这个时间同步到游戏客户端,游戏客户端根据手机设置的时区计算出游戏时间显示在客户端。规格如下图所示。,,为什么需要游戏时间同步?,游戏数据同步,解决方案 1:使用缓存进行即时数据回写,在这种方法中,数据集中存储,本地缓存立即将数据写回数据库。具体架构如下图所示。,,目前涉及到数据同步的场景主要有两种:,场景1 玩家在本地登录(上图中红字标注的解释)。,场景二 玩家跨地域登录。,方案二:区域数据库实时同步,各区域数据库实时同步。您可以使用 Message Service 或Alibaba Cloud DTS来完成此操作。每个区域数据库都存储所有玩家的数据。,,优点:,玩家可以从不同的地区玩游戏,他们的数据不需要迁移。所有区域都支持本地数据读写。,缺点:,异步数据同步会产生数据不一致。如果玩家使用 VPN 访问游戏,则 VPN 暂时断开连接可能会导致玩家在另一个区域重新登录。如果数据同步消息丢失或延迟,玩家再次登录时读取的数据可能不是最新的。,各个区域包含所有玩家数据,因此实时同步可能会给数据库带来很大压力。区域数据库之间的实时同步需要大量的跨区域专线带宽。,方案三:跨区域数据更新,当玩家从不同的区域登录时,玩家的本地服务器必须远程读取战斗数据。战斗结果调用API触发本地服务器数据更新。,,优点:,对于同一区域的玩家,角色数据从最近的本地节点读取/写入。,缺点:,实现逻辑复杂。所有的游戏结果都必须抽象到一个接口,数据由原始服务器接口集中更改。,方案四:远程数据迁移,当玩家从不同的区域登录时,玩家数据从玩家之前的服务器远程迁移。每次玩家登录时,系统都要检查是否需要进行数据迁移。,,游戏本地化解决方案,游戏本土化是游戏进军海外市场的重要考量因素。游戏无论是在海外发布还是希望扩展到新的地区,都必须注意本地化工作。一般的做法是构建一个标准的客户端安装包,里面包含几个基础素材包,不同语言的美术素材包,以及一些程序素材。这允许根据手机的语言版本动态呈现游戏。,常见的安装策略有以下三种:, ,每天,游戏行业都在以惊人的速度发展,与全球客户群的指数级扩张同步。网络和服务器滞后可能会导致游戏玩家响应迟缓并与游戏断开连接。因此,解决这些问题已成为游戏社区的当务之急,以改善玩家体验。可靠的服务器、实时数据分析和低延迟对于高质量的内容和出色的玩家体验至关重要。,,
在 2021 年期间,我们着手为我们的营销登陆页面创建一个新的以 SEO 为中心的基础架构,以优化我们的搜索引擎排名并吸引更多 Airtable 的潜在用户。更高的排名意味着来自使用搜索引擎的人的新印象、点击和转化。,从历史上看,Airtable 的登录产品和注销营销登录页面位于同一个 repo 中,主要使用客户端呈现的 React。当我们决定将注销页面拆分到它们自己的存储库中时,我们有机会重新设计登录页面的基础结构,以更好地满足 SEO 需求。,优化 HTML 的生成方式是 SEO 的基础,所有其他改进都将在此基础上进行。换句话说,如果您的 Web 应用程序框架和构建系统不能很好地促进 SEO,那么在其他层面上投资 SEO 工作就会变得更加困难。我们对营销页面的不同基础架构选项进行了探索:,我们最终决定服务器端渲染最好地为 SEO 的成功建立一个代码库;并选择 NextJS 作为框架来促进它。让我向您介绍为什么我们做出这个决定,以及它如何使专注于改进其 SEO 基础架构的团队受益。,为了在不同的网络应用程序基础设施选项之间进行评估,我们需要了解搜索引擎如何发现和解析网页以产生有机搜索结果。2021 年,谷歌占所有搜索引擎搜索量的 90% 以上。因此,我们的 SEO 评估将几乎完全集中在 Google 搜索上。,更新页面或添加新页面后,新内容可能需要4 天到 4 周的时间才能显示在 Google 搜索结果中。Google 的网络爬虫Googlebot在将页面数据发送到排名算法之前具有三个处理阶段:,爬虫负责搜索 Internet 以发现 URL。它向爬行队列中的已知 URL 发送 HTTP 请求以检索页面的 HTML。然后,爬虫会解析 HTML 以查找更多要添加到爬网队列的 URL。,例如,如果从抓取队列中检索到 URL 并返回以下 HTML,则在检查文件以确保允许该页面被索引/store后,将发现该 URL 并将其添加到抓取队列中。robots.txt,爬虫不执行任何 JavaScript,只会解析它提供的 HTML。这意味着如果页面在 JS 执行之前包含所有必要的内容,那么 Googlebot 已经拥有索引和排名页面所需的所有信息。,另一方面,如果 JS 需要运行以生成页面内容,那么 Googlebot 需要先完成渲染网站的额外工作,然后才能正确抓取页面并将其编入索引。,Googlebot 的渲染器将使用无头 Chromium 实例来解析和执行 JS,以生成完整的 HTML 页面。HTML 被发送到爬虫,因此可以再次解析它并可以发现 URL。呈现的 HTML 也被发送到索引器进行处理。,想象一下每天持续抓取和呈现所有互联网需要多少处理能力!甚至谷歌也有其局限性。您的网站被编入索引的速度受Googlebot 实例的可用性、带宽和时间的限制。,但是,与任何代码一样,JS 中可能存在阻止 Googlebot 为页面编制索引的错误。企业需要主动监控Google Search Console,以检查 Googlebot 是否遇到 JS 错误。,索引器负责在将页面内容添加到搜索索引之前解析和分析页面内容。在此步骤中,Googlebot 将尝试根据标题、关键字和整个页面内容来理解内容的意图。,在设置初始 Web 应用程序基础结构后,为索引器优化内容成为 SEO 的主要焦点。,下表总结了我们考虑的三个基础架构选项之间的比较以及每个选项的优缺点,我将对此进行更详细的讨论。,静态网站可以说是最容易设置的,因为在最简单的形式中,它由具有固定内容的 HTML 文件组成,这些文件可以用作静态的、可缓存的资产。不需要服务器逻辑,文件完全按照存储的方式发送到浏览器。术语Jamstack有时用于描述此架构,因为部署只是一堆文件。,尽管可以在没有任何 Web 库或框架的情况下构建静态网站站点,但静态站点生成器 (SSG)(例如 Next.js、Hugo、Gatsby、Jekyll 等)允许使用组件等复杂的 Web 开发功能。这些框架在构建时将代码转换为静态 HTML,然后可以将其部署到内容分发网络 (CDN)。在构建期间而不是在 Web 服务器上按需生成标记的过程称为预渲染。,初始 HTML 包含所有内容,相同的 HTML 会在第一页加载时提供给每个访问者,包括搜索引擎机器人。这使得 Googlebot 无需解析和执行 JS 即可轻松抓取页面并将其编入索引。这并不意味着我们不能在页面上使用 JS 来使元素交互,但由于我们没有在客户端使用 JS 来生成 HTML,我们正在为 SEO 的成功做好准备。,无与伦比的速度和性能,因为静态...
网络策略服务器 (NPS) 是 Microsoft 的远程身份验证拨入用户服务 (RADIUS) 服务器的实现。NPS 为您的网络提供集中式身份验证、授权和记帐 (AAA)功能。在此设置下,您的网络访问服务器 (NAS) 充当 RADIUS 客户端,并将来自用户的所有连接请求发送到在 Windows 上运行 NPS 的 RADIUS 服务器,然后将身份验证和授权信息提供回 NAS。当用户连接到您的网络时,NPS 会记录他们的活动作为其 RADIUS 记帐角色的一部分。,,RADIUS 是一种具有 AAA 管理功能的客户端-服务器网络协议,其传输层使用无连接用户数据报协议 (UDP),并使用端口 1812 进行身份验证,使用端口 1813 进行授权。,由于 UDP 不需要跨网络的可靠连接,因此使用 RADIUS 意味着最小的网络开销。但是,在网络质量差的情况下,这也可能导致请求超时。发生这种情况时,RADIUS 客户端会向服务器发送另一个请求。为确保 RADIUS 在安全的网络连接上运行,过去曾有过使其与传输控制协议 (TCP) 一起工作的举措,但这些举措并未超出实验阶段。,作为客户端-服务器网络协议,RADIUS 具有客户端和服务器组件。在使用 RADIUS 的典型网络中,身份验证和授权过程如下:,RADIUS 支持多种身份验证机制,包括:,RADIUS 中的组合身份验证和授权操作可最大限度地减少流量并提高网络效率。RADIUS 还支持使用一次性密码或某种其他机制的多重身份验证 (MFA),这通常需要客户端和服务器传递比正常情况下更多的消息。在较大的网络中,RADIUS 服务器还可以充当其他 RADIUS 服务器的代理客户端。,与 RADIUS 一样,轻量级目录访问协议 (LDAP) 用于用户身份验证和授权。LDAP 通过访问和管理目录服务(例如 Microsoft 专有的 Active Directory 服务)来执行此角色。至于哪个更好取决于你的具体要求。,由于 LDAP 使用 TLS,客户端和服务器之间的连接和消息始终是加密的。此外,由于 LDAP 使用 TCP,丢弃请求的可能性为零,尽管这通常意味着更多的网络开销。LDAP 也比 RADIUS 更易于设置。,另一方面,LDAP 不支持用户记帐,尽管这可以使用其他工具(例如 Syslog)来解决。它还不支持开箱即用的多因素身份验证,但如果需要此功能,您可以使用其他解决方案。,默认情况下,RADIUS 不加密在客户端和服务器之间传递的任何其他属性,密码除外。它确实支持其他身份验证机制(例如 EAP),从而可以规避此弱点。您还可以使用 RADIUS 实施其他安全机制,例如将服务器和客户端置于虚拟专用网络 (VPN) 之后。虽然更复杂,但 RADIUS 支持用户记帐和 MFA,非常适合在大型企业中使用。但是,它对于希望保护其网络安全的小型组织也很有用。,NPS 在早期的 Windows 版本中被称为 Internet 身份验证服务 (IAS)。从 Windows 2008 开始,IAS 成为 NPS,Microsoft 向该组件添加了新功能,包括网络访问保护和 IPv6 支持。NPS 适用于多种类型的网络。,为了验证 Windows 网络上的用户凭据,NPS 依赖于 Active Directory 域服务 (AD DS) 域或本地安全帐户管理器 (SAM) 用户帐户数据库。当运行 NPS 的服务器属于 AD DS 域时,您可以将 NPS 用作单一登录解决方案的一部分。在这种情况下,NPS 通过目录服务的用户帐户数据库对用户进行身份验证,将经过身份验证的用户登录到 AD DS 域中。,使用 RADIUS,NPS 代替 NAS...