2016-09-28 ruki
线程局部存储(Thread Local Storage,TLS)主要用于在多线程中,存储和维护一些线程相关的数据,存储的数据会被关联到当前线程中去,并不需要锁来维护。。 因此也没有多线程间资源竞争问题,那如何去实现TLS存储呢,主要有以下几种方式: gcc和clang的__thread修饰符 windows下msvc的__declspec(thread)修饰符 pthread库pthread_setspecific和pthread_getspecific接口 windows下的TlsSetValue和TlsGetValue thread和declspec(thread)的使用 其中thread和declspec(thread) 继续阅读 »
2018-04-29 Lingxian Kong
什么是 TLS termination 关于 TLS termination 的具体实现原理可以自行 google,我自己也讲不清楚。但简单地说,TLS termination 通常用于负载均衡器中对 https 协议的处理。为什么要单单为 https 做处理呢?https相比与http多了安全支持,其中最关键的步骤就是建立server和client的SSL安全连接通道。HTTP使用 TCP 三次握手建立连接,客户端和服务器需要交换3个包,HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的9个包,所以一共是12个包。网上有人对 HTTP 建立连接做过测试,在该测试中是114毫秒;而HTTPS建立连接,需要耗费436毫秒 继续阅读 »
2016-10-17 Alex Sun
参考文章 iOS学习笔记——HTTPS原理篇 HTTPS工作原理和TCP握手机制 图解SSL/TLS协议 How to Use SSL/TLS with Node.js 在上一篇博文《Node核心模块之crypto》中,提到了加密(摘要,加密解密,签名等)的四种常见类型: Hash(哈希) HMAC(基于哈希的消息认证码) 加密,解密 签名,验证 HTTPS的整个过程和以上几种方法密切相关。 CA证书 CA 即 Certificate Authority (数字证书认证机构),CA证书的签发以及验证包含以下三方: CA Server Client 过程包括: Server生成一对公钥和私钥 Server将公钥以及域名等信 继续阅读 »
2017-03-28 zzyhappyzzy
随着互联网的普及,不管是PC端的web,还是移动端的app,甚至智能家居等,绝大部分的通信都是依靠http协议传输数据,但http协议只负责传递信息,并不能保证信息的安全性和可靠性。 more 信息安全 简单来说,信息安全就是为了保证传递的信息只能被正确的人接收和识别,并且接收方能够验证信息是否被篡改,最终能够正确识别收到的信息。 继续阅读 »
2017-06-14 Renfei Yu
HTTPS 目前正在逐步得到广泛应用,本篇文章通过不断剖析HTTPS的原理,基于对此的深刻理解不断的分析其性能瓶颈。立足在安全的基础上达到与HTTP同样的性能。 HTTPS HTTPS 可以认为是 HTTP + TLS/SSL,所以我们只需要了解 TLS/SSL 原理即可。在进入原理之前,我们需要了解两个基础概念:数字证书、证书授权中心 继续阅读 »
2016-12-12 Meng Lei
关于Gitlab Pages 与Github Pages相似,Gitlab Pages也是一个用来托管静态文件的服务,由Gitlab提供,通过与Gitlab CI和Gitlab Runner集成,将用户个人、组织以及项目的页面部署到静态文件服务当中。 Gitlab Pages是从Gitlab EE 8.3版本才引入的,自定义CNAME和TLS支持是从Gitlab EE 8.5版本中引入的,由于我们没有Gitlab EE 环境,此处我们使用Gitlab.com提供免费服务。 开始使用Gitlab Pages 通常来说,有两种类型的pages 用户页面(username.exmaple.io)或者组织页面(groupname 继续阅读 »
2014-02-06 Lingxian Kong
什么是SSL 安全套接层(Secure Sockets Layer,SSL)是一种安全协议,在网景公司(Netscape)推出首版Web浏览器的同时提出,目的是为网络通信提供安全及数据完整性保障,SSL在传输层中对网络通信进行加密。 SSL采用公开密钥技术,保证两个应用间通信的保密性和可靠性,使客户端与服务器应用之间的通信不被攻击者窃听和伪造。它在服务器和客户机两端可同时被支持,目前已成为互联网上保密通讯的工业标准。现行的Web浏览器亦普遍将HTTP和SSL相结合,从而实现安全通信。此协议其继任者是TLS。 SSL协议的优势在于它是与应用层协议独立无关的。高层的应用层协议(例如:HTTP、FTP、Telnet等等)能透明的建立 继续阅读 »
2015-04-27 YongHao Hu
按照网上教程装了Nginx后,发现网站根目录非常不符合Rule of Least Surprise,过了没一会,就忘记了目录所在。 在网上查找时,发现别人的根目录跟我的根本不一样。只好自己去找目录所在。使用nginx -V, $nginx -V nginx version: nginx/1.4.6 (Ubuntu) built by gcc 4.8.2 (Ubuntu 4.8.2-19ubuntu1) TLS SNI support enabled configure arguments: --with-cc-opt='-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wf 继续阅读 »