写点什么

Golang 和 HTTPS 在网站前端接入里的作用

  • 2016-01-03
  • 本文字数:2291 字

    阅读完需:约 8 分钟

网站前端架构技术一直在不断的优化,而要做到全栈优化,就必须要运维、后端架构研发、前端模板渲染研发、系统和网络等各个部门的协作。同时,安全又是网站建设话题中避不开的梗,从 2015 年年初开始,HTTPS 安全协议就已经遍布各大网站的网址里了,而百度是国内第一家推行全站 HTTPS 的大型网站,这其中就有很多关于站内优化和站内安全的经验分享。以下内容是对第61 期百度技术沙龙的三位资深运维工程师的采访。

陶春华:百度资深运维工程师,百度Golang 委员会成员 & Code Master,工作中主要方向在百度接入的Go 项目。

InfoQ:BFE 架构是如何做到在高并发访问的情况下不丢失访问请求的?

陶:BFE 架构能做到这一点主要依托了 Golang 对并发访问的支持:goroutine 机制在并发处理上非常高效;编程模型也是大家熟悉的线程模型,容易掌握。

InfoQ:后台统一日志收集使用的是什么技术?以及如何在不影响业务流程的情况下保证日志的准确性和实时性?

陶:对访问日志我们采用两个手段处理:一是开发了一个专用的 Reader 程序,解析出部分关键请求信息,通过实时接口发送到后台汇聚服务,用于实时的流量识别与调度。二是公司有日志收集系统,统一进行日志的收集、统计与存档。

InfoQ:BFE 前端接入是如何做到防攻击的?在不影响主业务流程情况下具体安全策略是如何运行的?

陶:安全主要是通过 WAF 服务来保障。WAF Server 是和 BFE 同机部署的应用层防火墙,BFE 会把流量转发到 WAF 服务程序。根据安全规则,WAF 服务对访问数据进行检查,一旦发现违反安全规则的访问,则立即封禁该访问。这个过程独立于 BFE 的其他处理逻辑。

InfoQ:BFE 前端目前有没有做到自动化接入产品线?如果有的话,请谈谈是如何做到这一点的?

陶:目前有部分是自动化接入产品线的,主要是出于为部分重要配置的审核考虑,才使用了自动化接入。

InfoQ:BFE 架构下流量控制策略是如何设计的?当初为什么使用这种设计方法?

陶:流量调度分为外网调度和内网调度两个层次。

外网调度,主要考虑如何控制 DNS 系统,将用户引导到合适的入口 IDC。内网调度,主要考虑在业务集群间的负载情况,将流量从一个 BFE 集群,分流到多个等价的业务集群,权重是根据负载情况实时计算得到的。

InfoQ:GO 语言在前端接入设计上存在哪些“先天不足”?主要的解决措施是什么?

陶:对 BFE 的应用场景来说,主要是 GC 带来的不确定的延迟。为此我们设计了多进程轮转的解决方案,基本思路是当前服务的工作进程关掉 GC,服务一段时间后,其他进程替换工作。

许霞:百度资深运维工程师。曾负责反作弊、超链分析、用户行为分析等离线计算系统维护工作。最近两年来专注于网页搜索无线访问速度与接入体验方向。

InfoQ:如何跟后端架构研发、前端模板和渲染研发、系统和网络等各个部门之间进行协作,才能实现整个网站全栈优化的效果?

许:网站速度的提升在公司内部是一个主题方向,并且有一个独立的项目组进行工作开展。项目组中包括网络、服务器、搜索架构等基础技术的工程师,也包括前端渲染、交互设计方向的工程师。整个项目组会整体对网站的优化进行负责,从而实现从各个层面进行速度的优化。而运维部作为一个衔接基础技术和业务的技术部门,就承担了整体分析设计与驱动全栈优化的角色。

InfoQ:百度在 WPO(Web Performance Optimization)上做了哪些措施?对各种监测手段的使用如何抉择?

许:网站性能的监测手段选择主要是两方面的。

首先是基于 JS 的监测数据,这部分数据优点是数据规模大,数据可以根据目的性进行自定义。当然缺点是很难覆盖竞品的情况下对竞品情况的了解,我们会选择第三方监测,包括基调、博瑞,以及海外的同行。通过购买第三方监测服务来覆盖我们在竞品测监测数据,同时也保证了客观性。

陈曦洋:百度资深运维工程师,近 3 年作为主要技术负责人,处理网页搜索的可达性,访问速度,安全搜索等方向事务。

InfoQ:可否介绍一下目前 HTTPS 在业界的适用范围?使用前后的效果对比是怎样的?

陈:需要保护隐私,防止劫持和嗅探,和钱 / 账户打交道的都应该优先上。在这些领域,对用户流量的劫持已经让用户难以忍受,甚至一些临时工写出来的劫持代码会直接让页面功能不可用,可以从用户反馈渠道看到大量的抱怨。另外一方面,一些非法的行为会直接嗅探用户浏览网页的的隐私,获得用户需求信息,甚至直接电话骚扰用户。不安全的浏览会给坏人可趁之机,入侵用户账户,造成财产或者名誉等损失。

百度在上线 HTTPS 之后,用户反馈的页面由于劫持而造成的功能问题减少了一个数量级。之前大家没有上线 HTTPS,很多是在顾忌复杂性,资源成本,和访问延迟。这些问题都会逐渐得到解决,建议大家尽量都改造为 HTTPS。另外看看今年上线 HTTPS 有哪些网站就知道效果如何了。

InfoQ:HTTPS 目前在百度的使用场景有哪些?能不能做到完完全全的安全?

陈:HTTPS 目前在百度主要在搜索支付金融账户等业务,也正在推进支持所有的产品。使用 HTTPS 代表不了完完全全的安全,但是能解决很多问题,也极大的增加了攻击者的成本。但没有“完全的安全”这个说法。一个实际使用中的完整系统总是非常的复杂,用户浏览网页的过程也是一样,在很多环节上,都有各种各样的风险。

网上有清华大学段海新教授对网银及其他使用 HTTPS 网站的攻击演示。光是百度部署 HTTPS,也没有办法完整的保护浏览的整个环节,因为你最终还是要通过百度访问到你感兴趣的网站上去的。而我们发现有些网站为了获取用户的信息,会购买一些非法的服务,可以拿到你的大量信息,甚至电话号码。

而在第 61 期百度技术沙龙现场活动中,陈曦洋还会跟大家分享百度在使用 HTTPS 安全协议之初,都曾遇到过哪些问题,使用了什么样的解决方案等精彩内容!

2016-01-03 18:563943
用户头像

发布了 181 篇内容, 共 100.1 次阅读, 收获喜欢 207 次。

关注

评论

发布
暂无评论
发现更多内容

Adobe Audition(Au)如何扫描 VST3、VST 和 Audio Units 增效工具?

Rose

ExecutorCompletionService详解

Java随想录

Java 线程 线程池 并发

PS人像磨皮美容插件Delicious Retouch Panel (DR5)高级版(Win/Mac)

Rose

TinyEngine 服务端正式开源啦!!!

OpenTiny社区

开源 前端 低代码

HTTPS可能遇到的安全问题

德迅云安全杨德俊

安全 网站 中间人攻击 HTTPS协议

炫酷鼠标悬停随机渐变文本动画效果

南城FE

CSS 前端 css动画

AE镜头光晕插件 optical flares mac破解版 附许可文件

Rose

vivo 数据库备份恢复系统演化

vivo互联网技术

数据库备份和恢复

如何使用Redisson实现分布式锁?

王磊

Java 面试题

Adobe Camera Raw(PS插件增强工具) Mac/win

Rose

【积微成著】性能测试调优实战与探索(存储模型优化+调用链路分析)| 京东物流技术团队

京东科技开发者

思维导图、头脑风暴:MindNode for mac完整中文破解版

Rose

mac思维导图软件 MindNode 5 MindNode破解版下载 MindNode for mac

MES系统中的电子看板:真正实现数字化车间可视化

万界星空科技

MES系统 mes 数据大屏 万界星空科技mes 电子看板

前端开发Vue3的逻辑复用

伤感汤姆布利柏

开源 Vue 前端 低代码

企业如何通过SD-WAN实现异地组网互联?

Geek一起出海

喜讯!九章云极DataCanvas公司顺利通过ITSS运维二级认证

九章云极DataCanvas

U盘病毒查杀工具:USBclean for Mac v3.8激活版

胖墩儿不胖y

Mac软件 清洁工具 USB清洁软件

macOS 上最完整、最通用、最强大的菜单栏日历:Calendar 366 II

Rose

Mac日历软件 苹果破解软件下载 Calendar 366 II中文版 Calendar 366 II Mac下载 菜单栏日历工具

神经元科技发布AI Agents—“萨蔓莎”

科技热闻

Rectangle Pro for Mac(原Hookshot光标快速移动和管理窗口的工具)

Rose

Rectangle Pro for Mac mac窗口管理工具 Hookshot光标

流行的机器学习算法——线性回归

小齐写代码

文心一言 VS 讯飞星火 VS chatgpt (170)-- 算法导论13.2 3题

福大大架构师每日一题

福大大架构师每日一题

简单清晰的Redis C++客户端

王玉川

c++ redis 开源 发布订阅 流水线

“专业敏捷教练课程” 2024年3月2-3日 · CSP-SM认证周末班【新年特惠】

ShineScrum

敏捷教练 CSP-SM Profession

Golang和HTTPS在网站前端接入里的作用_语言 & 开发_Xue Liang_InfoQ精选文章