Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 如何减少网站的ssl时间_Performance_Amazon Web Services_Ssl_Https_Web - Fatal编程技术网

Performance 如何减少网站的ssl时间

Performance 如何减少网站的ssl时间,performance,amazon-web-services,ssl,https,web,Performance,Amazon Web Services,Ssl,Https,Web,我有一个HTTPS网站,我想减少这个网站的SSL时间。SSL证书已安装在AWS ELB上 如果我从荷兰访问站点,SSL时间很长,但如果我从其他国家访问同一站点,则SSL时间很短。为什么呢 我基本上是尽量减少在这个页面上显示的时间 你说你没有使用CDN,但我认为你应该这样做。原因如下: 通过TLS/SSL进行连接需要与安全连接握手,这需要在任何数据开始流动之前在客户端和服务器之间进行额外的通信,和 : 我开始研究HTTP和HTTPS之间类似请求的延迟差异。 ... 一切都在握手中。 ... 关键是

我有一个HTTPS网站,我想减少这个网站的SSL时间。SSL证书已安装在AWS ELB上

如果我从荷兰访问站点,SSL时间很长,但如果我从其他国家访问同一站点,则SSL时间很短。为什么呢

我基本上是尽量减少在这个页面上显示的时间

你说你没有使用CDN,但我认为你应该这样做。原因如下:

通过TLS/SSL进行连接需要与安全连接握手,这需要在任何数据开始流动之前在客户端和服务器之间进行额外的通信,和

:

我开始研究HTTP和HTTPS之间类似请求的延迟差异。 ... 一切都在握手中。 ... 关键是,无论您的SSL加速器(硬件负载平衡器等)有多快,如果您的SSL端点不靠近用户,那么您的第一次连接将很慢


如果使用CDN,则可以在客户端和最近的边缘位置之间进行握手,从而显著提高延迟。

您可以尝试ECDSA证书:

但是https的成本仅在第一次请求时可见:会话票证避免了所有其他请求的成本。它们被激活了吗?(您可以通过ssllabs.com查询)

如果可以,您应该使用SPDY或http2,它也可以提高速度


ECDSA密钥、SPDY和http2减少了必要的往返次数,因此应减少两个位置之间的差异。

许多因素会影响SSL时间,包括:

基础架构(这不仅会影响SSL,还会影响所有网络流量):

  • 由于SSL/TLS握手需要多次往返,因此存在标准网络问题(服务器与客户端之间的距离、网络的速度等等)。除了更改托管提供商和/或使用CDN之外,您几乎无法控制这些。根据我的经验,AWS速度很快,您只要求改进SSL,而不是一般的访问时间,所以现在可以跳过这一步
  • 服务器响应时间。服务器的CPU、Ram或磁盘电源是否不足?你和这个主机共享吗?同样是一个普遍的问题,所以可能跳过这个问题,但SSL/TLS确实需要一些处理能力,但对于现代服务器来说,它现在几乎不值得注意
  • 服务器操作系统。更新的更好。因此,如果以运行Red Hat Linux 4为例,那么预计它会比最新的Red Hat Linux 7慢很多,因为它具有改进的网络堆栈和更新版本的关键软件,如OpenSSL
SSL设置(通过运行您的站点,您应该获得此设置的运行状况):

  • 使用密码。有旧密码和慢密码,也有快密码和新密码。这里可能会很快变得复杂,但一般来说,您应该为大多数客户机寻找ECDHE密码(最好是ECDHE…GCM密码),并希望指定应该使用服务器顺序,以便选择使用的密码而不是客户机
  • 使用的证书。您将需要RSA 2048证书。任何更多的都是多余和缓慢的。一些站点(和一些扫描工具)选择RSA 4096证书,但这些证书确实对速度有显著影响,但安全性没有实际提高(目前,这可能会改变)。有较新的ECDSA证书(通常在SSLLAB报告中显示为256个EC证书),但并非所有CA都提供这些更快的ECDSA证书,并且并非所有客户端都普遍支持这些证书,因此使用旧硬件和软件的访问者可能无法与它们连接。Apache()支持双证书,以实现两全其美,但代价是拥有两个证书以及设置它们的复杂性
  • 证书链。您需要一个较短的证书链(理想的3个证书长:您的服务器、中介和CAs根证书)。服务器应返回除最后一个证书(已在浏览器证书存储中)之外的所有内容。如果缺少任何一个链接,一些浏览器会尝试寻找沉思的链接,但这需要时间
  • 可靠的证书提供者。除了更短的证书链,更好的OCSP响应者,他们的中间人通常也被缓存在用户浏览器中,因为他们可能被其他网站使用
  • 使用OCSP或CRL,OCSP装订保存网络行程以检查证书是否有效。打开它不会对Chrome造成影响,因为他们不会检查吊销情况(大多数情况下,EV证书会被检查)。它会对IE产生明显的影响,因此,如果您的服务器支持IE,则应该打开它,但一定要注意一些问题,特别是当OCSP装订打开时,nginx在重新启动后的第一个请求总是失败
  • 应该使用TLSv1.2,对于较旧的客户端可能使用TLSv1.0,但不使用SSLv2和SSLv3。TLSv1.1有点毫无意义(几乎所有支持它的人都支持更新更好的TLSv1.2)。TLSv1.3目前正在开发中,有一些良好的性能改进,但尚未完全标准化,因为存在一些已知的兼容性问题。希望这些问题很快得到解决,以便可以使用。注意:PCI合规性(如果您的网站使用信用卡)要求在2018年6月30日之前在新网站和所有网站上使用TLSv1.2或更高版本
重复访问-虽然上述内容有助于初始连接,但大多数网站都需要下载多个资源,设置不好的网站每次都必须进行完整的握手(如果在运行WebGetTest.org之类的东西时看到每个请求都重复设置SSL连接,这一点应该很明显):

  • 应该打开HTTP Keep Alives,以便在每次HTTP请求后不会断开连接(这应该是HTTP/1.1实现的默认设置)
  • 在我看来,SSL缓存和票证应该是打开的。有些人不同意,但出于性能方面的原因,他们应该继续。具有高度敏感信息的站点可能会选择比performa更完整的安全性