0分享至
用扫码二维码
分享至好友和朋友圈
不久前,我的队友Yariv在博客中介绍了OpenDNS智能代理,该代理使我们能够超越DNS层并阻止恶意HTTP通信。此后,我们的团队一直专注于其他项目,例如拥有并整合了我们基础架构中最古老的部分之一,即着陆器,从而释放了70多个服务器,以及一些我们将要讨论的令人兴奋的新功能 关于什么时候开始
今天,我想更详细地介绍智能代理及其支持的技术,即Nginx。
按照惯例,代理是在操作系统的网络设置中或在特定程序(例如HTTP代理的Chrome或Firefox)中明确配置的。
此外,协议还可以确保代理服务器始终可以在请求时确定客户端的预期目的地。但是,正如Yariv在他的帖子中所解释的那样,我们采用了一种非常规的方法,而不是代理所有内容(无论是否是显性的),而是通过DNS层选择性地将对可疑域的请求重新路由到我们的代理。这种选择性对于减少延迟,负载和影响非常有用,但同时也带来了一些有趣的工程挑战-主要围绕识别用户并确定原始目的地。
例如,当用户尝试浏览到“ some-website.net”时,如果该域被归类为可疑,则OpenDNS解析器将返回最近的Intelligent Proxy服务器的IP地址。客户,例如Firefox或Chrome对此一无所知,并假设接收到的IP地址属于实际托管“ some-website.net”的服务器。对于纯HTTP,很容易确定原始目标是什么,因为HTTP / 1.1要求在每个HTTP请求中设置Host标头,现代浏览器将正确包含此标头。例如,共享主机提供商在为单个IP后面的多个网站提供服务时依赖于此标头。同样,可以利用TLS协议的服务器名称指示(SNI)扩展来代理HTTPS通信。对于其他端口和协议,此过程更为复杂(甚至不可能)。
另一个重要的概念是“正向”代理与“反向”代理的思想。前向代理服务于一组客户端,充当单个访问点并代表客户端查询原始服务器。如前所述,这是在操作系统或Firefox之类的浏览器中配置代理时使用的类型。
反向代理的作用相反,它充当多个服务器组件(例如CGI脚本,文件服务器或数据库)的单点访问。这些代理也通常用作负载平衡器和SSL终结点。
基于此,在服务已路由到它的客户端请求时,我们的智能代理是前向代理。但是它在内部也有一些反向代理,特别是当我们添加新功能和新的数据检查层时。一开始我也提到过,我们选择的技术是Nginx,熟悉Nginx的读者会知道它的设计纯粹是一种反向代理。
在下一篇文章中,我将讨论我们因此而采取的更多非常规方法,以及我们必须解决的挑战。
本文讨论:请加入知识星球【首席架构师圈】或者加小号【jiagoushi_pro】或者加群【】
【jiagoushipro】【超级架构师】精彩图文详解架构方法论,架构实践,技术原理,技术趋势。我们在等你,赶快扫描关注吧。
【cea_csa_cto】50000人社区,讨论:企业架构,云计算,大数据,数据科学,物联网,人工智能,安全,全栈开发,DevOps,数字化.
群
【】深度交流企业架构,业务架构,应用架构,数据架构,技术架构,集成架构,安全架构。以及大数据,云计算,物联网,人工智能等各种新兴技术。加群,有珍贵的报告和干货资料分享。
视频号 【超级架构师】1分钟快速了解架构相关的基本概念,模型,方法,经验。每天1分钟,架构心中熟。知识星球 向大咖提问,近距离接触,或者获得私密资料分享。 圈子 志趣相投的同好交流。 喜马拉雅 路上或者车上了解最新黑科技资讯,架构心得。 知识星球 认识更多朋友,职场和技术闲聊。 微博 【智能时刻】 哔哩哔哩 【超级架构师】抖音 【cea_csa_cto】超级架构师快手 【cea_csa_cto】超级架构师小红书 【cea_csa_cto】超级架构师
谢谢大家关注,转发,点赞和点在看。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.
/阅读下一篇/ 返回网易首页 下载网易新闻客户端