HTTPS就等于HTTP加上TLS(SSL),HTTPS协议的目标主要有三个:
数据保密性。保证内容在传输过程中不会被第三方查看到。就像快递员传递包裹时都进行了封装,别人无法知道里面装了什么东西。
数据完整性。及时发现被第三方篡改的传输内容。就像快递员虽然不知道包裹里装了什么东西,但他有可能中途掉包,数据完整性就是指如果被掉包,我们能轻松发现并拒收。
身份校验。保证数据到达用户期望的目的地。就像我们邮寄包裹时,虽然是一个封装好的未掉包的包裹,但必须确定这个包裹不会送错地方。
启用HTTPS之前需要有证书,而证书需要首先在自己服务器上创建CSR,对应的公钥和私钥。这里我全部都拿Nginx服务器举例,Apache也不会差太多,都是基于openssl的。因为我只有一个主机域名www.jb51.net,所以证书方便选择了COMODO的PositiveSSL,每年9刀。需要注意COMODO要求证书至少是2048位,见下面的命令。激活证书的时候需要注意common name那里要填写自己的域名地址,我因为并不使用jb51.net,所以这里写的就是www.jb51.net,需要注意这两个主机地址是不同的。其他的组织名公司名什么的如果没有就写NA,不要留空。下面简单说一下步骤
1、以root登录,升级服务器。这里是为了解决OpenSSL的一个大漏洞CVE-2014-0224,因为ChangeCipherSpec消息的问题可能导致中间人攻击,解密并修改被攻击的服务器和客户端之间的通信,从而获得加密的数据。
查看OpenSSL版本,确认至少在1.0.1h以上,
openssl version -a
如果没有,升级服务器,以Debian为例
apt-get update apt-get upgrade
2、创建CSR和私钥
openssl req -new -newkey rsa:2048 -nodes -keyout www.jb51.net.key -out www.jb51.net.csr
得到2个文件,私钥www.jb51.net.key,CSR文件www.jb51.net.csr,其中CSR里面的内容在激活证书的时候需要提交
3、购买证书,完成激活,下载证书文件
下载的证书文件通常是一个压缩包,有些是2个文件,有些是4个文件
如果是2个文件,是这样的:
- www_jb51_net.ca-bundle
- www_jb51_net.crt
如果是4个文件,通常都是这样的:
- www_jb51_net.crt
- COMODORSADomainValidationSecureServerCA.crt
- COMODORSAAddTrustCA.crt
- AddTrustExternalCARoot.crt
其中www_slyar_com.ca-bundle就是自动合并了其他3个文件的产物,一个道理
4、合并证书,顺序一定不能错
cat www_jb51_net.crt www_slyar_com.ca-bundle > www.jb51.net.crt
或者
cat www_slyar_com.crt www_slyar_com.ca-bundle > www.jb51.net.crt
最后产生的www.jb51.net.crt是4个文件的合并,此文件与之前产生的www.jb51.net.key一起组成了Nginx需要使用的证书
5、把www.jb51.net.crt和www.jb51.net.key复制到Nginx的conf目录下,比如/usr/local/nginx/conf/
cp www.jb51.net.crt www.jb51.net.key /usr/local/nginx/conf/
6、修改Nginx配置文件或者vhost/下的虚拟主机配置文件,启用https,配置加密方式等
#合并80和443配置文件也可以,一起配置,最后强制转移80到443就可以了 listen 80; listen 443; #指定证书文件 ssl_certificate www.jb51.net.crt; ssl_certificate_key www.jb51.net.key; #禁用不安全的SSLv1 2 3,只使用TLS ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; #RC4也是不安全的了,只能去掉 ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; #301转移 if ($server_port = 80) { return 301 https://$server_name$request_uri; }
7、测试Nginx配置文件并重新reload配置文件
Nginx -t service nginx reload
这样服务器的HTTPS就配置完了。
既然HTTPS非常安全,数字证书费用也不高,那为什么互联网公司不全部使用HTTPS呢?原因主要有两点:
HTTPS对速度的影响非常明显。每个HTTPS连接一般会增加1-3个RTT,加上加解密对性能的消耗,延时还有可能再增加几十毫秒。
HTTPS对CPU计算能力的消耗很严重,完全握手时,web server的处理能力会降低至HTTP的10%甚至以下。
HTTPS为什么会严重降低性能?主要是握手阶段时的大数运算。其中最消耗性能的又是密钥交换时的私钥解密阶段(函数是rsa_private_decryption)。这个阶段的性能消耗占整个SSL握手性能消耗的95%。
然而随着各大网站的相继跟进与硬件的摩尔定律下,为了安全而做这点性能牺牲还是值得的。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 中国音乐地图之听见江苏昆曲经典唱段2020[WAV+分轨]
- 《路易吉鬼屋2HD》GS 7分:适合掌机模式短时间游玩
- 《路易吉鬼屋2HD》M站均分77:出色3DS游戏的升级版
- 不输官方!玩家设计《光环》等主题Switch Pro手柄
- 王识贤.2010-伤心手指【华特】【WAV+CUE】
- 尚雯婕.2009-时代女性Time.Lady【华谊兄弟】【FLAC+CUE】
- 萧亚轩.2006-1087【华纳】【WAV+CUE】
- 徐佳莹《无损音乐合集》2009-2023[FLAC/分轨][2.3GB]
- 群星《那些年的男神,那些年的女神》2CD[WAV+CUE][1.4GB]
- 张学友《2023头版蜚声环球合集》32CD[WAV+CUE][15.7G]
- 绝区零珂蕾妲关键天赋是什么 珂蕾妲天赋效果解析
- 绝区零珂蕾妲音擎武器怎么选 珂蕾妲音擎选择推荐
- 绝区零护盾鸣徽有哪些 绝区零护盾鸣徽效果介绍
- 爱浪音响测试碟-《经典传说》2CD[DTS-WAV]
- 群星《情歌1号-2号(紫银合金)4CD》[WAV+CUE]