1. HTTPS无法缓存,真的是这样吗
不是的。HTTPS是加密安全协议,也是互联网安全的象征条件,目前是比较普遍的,比如:网络、淘宝、京东、各大网站,支付平台都会使用,而且必须使用。
2. 关于HTTPS无法缓存,太慢,很贵等几点误解
1、互联网大型网站实践证明,不存在无法缓存、太慢等问题;如同您上网一样,想要网速快,需要购买更高级的带宽就可以了。
2、HTTPS很贵,安全保护加密信任都是金额堆积出来的,不然没有办法确保各大主流的浏览器对您的网站信任,所以很贵也不其然,DV的信任证书在淘宝:Gworg 也是非常便宜的。
3. ssl缓存是什么
ssl缓存是指浏览器(如IE)中保存的会话信息(前不久与远程服务器建立的https会话),如服务器证书信息、你的证书信息、协商的加密算法等。
在ssl缓存的信息还没有失效时,你连接服务器时,会直接重用刚才已经建立的ssl连接。否则,会进行ssl握手重新建立与服务器的连接,而这个过程是相当较慢的。
4. web cache会不会缓存https请求内容
所谓二级缓存实际上并不复杂,当Android端需要获得数据时比如获取网络中的图片,我们首先从内存中查找(按键查找),内存中没有的再从磁盘文件或sqlite中去查找,若磁盘中也没有才通过网络获取;当获得来自网络的数据,就以key-value对的方式先缓存到内存(一级缓存),同时缓存到文件或sqlite中(二级缓存)。注意:内存缓存会造成堆内存泄露,所有一级缓存通常要严格控制缓存的大小,一般控制在系统内存的1/4。
5. 服务器的ssl会话缓存 可以被刷新吗
为什么在服务器负载非常重的时候会出现随机性的SSL协议错误?
可能有多种原因,但是最可能的原因是由于将SSLSessionCache指定为使用DBM会话缓存所致。因此,使用SHM会话缓存或者根本不使用SSL会话缓存有助于解决这个问题。
为什么服务器在处理SSL加密连接的时候负载会很重?
SSL使用的强加密算法需要消耗大量CPU资源进行大数运算。当你通过HTTPS访问一个页面时,每一个元素(包括图片和多媒体资源)都会被加密传输。所以,HTTPS流量越大,负载就会越重。
为什么在使用HTTPS协议的情况下,有时候需要花上30秒才能建立一个连接?
这通常是由于在使用read(2)读取SSLRandomSeed指定的/dev/random设备时,设备暂时无法提供足够多的随机位,操作被一直阻塞所致。更多细节可以参考手册中对SSLRandomSeed指令的详细说明。
mod_ssl支持哪些SSL加密算法?
通常,所有OpenSSL支持的SSL加密算法mod_ssl都支持,具体取决于你的OpenSSL是怎样编译的。可以使用下面的命令列出实际究竟可以使用哪些加密算法:
$ openssl ciphers -v
为什么使用匿名Diffie-Hellman(ADH)算法时会收到"no shared cipher"错误?
默认情况下,出于安全原因,OpenSSL并不启用ADH算法。仅在你确实明白了这个算法的副作用时,你才可以启用此算法。
为了使用匿名Diffie-Hellman(ADH)算法,你必须在编译OpenSSL时使用"-DSSL_ALLOW_ADH"配置选项,并在SSLCipherSuite指令中添加"ADH"。
为什么连接到新安装的Apache-SSL服务器时会收到"no shared ciphers"错误?
或者是SSLCipherSuite指令配置错误(你可以和预配置的httpd.conf-dist比 对一下);或者是你在生成私钥的时候使用了DSA/DH算法而不是RSA,并且忽略了警告信息。如果使用了DSA/DH的话,那么你的服务器就不能使用基 于RSA的SSL加密算法进行通信(至少直到你配置了一个额外的RSA证书/密钥对为止)。现在的浏览器,比如NS或IE只能和使用RSA加密算法的 SSL服务器通信,这也是导致"no shared ciphers"错误原因之一。解决这个错误的最佳途径就是使用RSA算法重新生成服务器证书和密钥对。
为什么不能在基于域名的虚拟主机上使用SSL?
原因很技术化,有点类似于"鸡和蛋"的问题。SSL协议层位于HTTP协议层之下,HTTP协议是被封装在SSL协议中的,当一个SSL连接 (HTTPS)请求到来的时候,Apache/mod_ssl必须和客户端协商SSL协议参数(握手),所以,mod_ssl必须查看虚拟主机的配置信息 (例如允许使用哪些加密算法、服务器证书是哪个等等),然后才能完成SSL会话通道的建立;但另一方面,为了确切知道究竟应该查看哪个虚拟主 机,Apache又必须知道HTTP请求头的Host字段的内容,而这在完成SSL握手之前是不可能知道的。
为什么不可以使用基于域名的虚拟主机来标识不同的SSL虚拟主机?
基于域名的虚拟主机是用来标识不同虚拟主机的流行方法。这种方法允许多个不同的站点使用同一个IP地址和端口对。当人们将站点转移到SSL时,很自然的就认为可以使同相同的办法在同一台机器上运行多个SSL虚拟主机。
但事实是:没门!
原因在于SSL协议层位于HTTP协议层之下,HTTP协议是被封装在SSL协议中的,所以SSL会话必须在HTTP会话之前建立。因为在建立SSL会话的最初握手阶段,服务器无法知道HTTP请求头的Host字段的内容,也就无法确定究竟使用哪个虚拟主机的配置(例如允许使用哪些加密算法、服务器证书是哪个等等),于是Apache就会使用匹配这个IP地址端口对的第一个主机的SSL配置。
当然,你也可以在同一个IP地址上使用基于域名的虚拟主机来标识多个非SSL虚拟主机(例如全运行在80端口),同时再运行一个SSL虚拟主机(例如在443端口)。不过如果你确实这么做了的话,一定要确保在NameVirtualHost指令里明确指定端口号,像这样:
NameVirtualHost 192.168.1.1:80
另外一个解决方案:为不同的SSL虚拟主机使用不同的IP地址端口对。
如何启用SSL压缩?
虽然SSLv2和TLS规范定义了SSL压缩协商,但是直到2004年5月,RFC 3749才将DEFLATE定义为可协商的压缩方法。
从0.9.8版本开始,如果编译时使用了zlib选项,那么OpenSSL将默认支持SSL压缩。如果客户端和服务器同 时支持压缩,那么压缩将被启用。但是,当前的大多数客户端仍然会在建立SSL会话的最初尝试使用SSLv2,而SSLv2在握手阶段并不协商压缩算法,所 以对于使用SSLv2的客户端,实际上是无法使用压缩的。如果客户端使用SSLv3或TLS建立连接,那么就可以启用压缩。你可以使用%{SSL_COMPRESS_METHOD}x变量在日志中记录客户端是否利用了压缩功能。
当我通过HTTPS使用基本认证的时候,Netscape浏览器状态栏上的锁图标处于打开状态,这是否意味着我的用户名和密码是明文传递的?
非也!你的用户名和密码依然是加密传输的。浏览器上的图标事实上并没有和SSL/TLS同步,它仅在开始实际传输web页面的时候才锁上,这会给用 户带来一些困惑。基本认证是HTTP层的特性,而HTTP层位于SSL层之上(所以被称为HTTPS),所以任何HTTP会话开始之前,SSL层已经完成 握手并建立了加密信道。所以不要被这个图标所迷惑。
6. https为什么不能下载
你用的是IE6或IE7吧,因为IE通过HTTPS下载时,默认其cache缓存是不给权限的,所以,必须先要对cache进行配置和给其权限。加上这两句话即可reps.setHeader("Pragma", "public");
reps.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
7. android 手机会缓存https请求吗
节奏大师美安装过,不过你应该可以直接到内存卡上找一下对应的文件夹(网络搜了一下,SD卡里的RM文件里,删掉RM就行了)。直接删掉!
8. squid 透明代理怎么缓存https请求
使用squid搭建https透明代理:http://blog.csdn.net/maoji/article/details/53095466
9. varnish 如何清除https缓存
Varnish的缓存清除非常复杂。无论是Varnish的清除方式还是清除时候使用的语法规则等,都是比较复杂。其中一种方式是通过命中对象的单一变体,所以在他命中一个没有压缩的对象的时候他不能清除一个已经压缩的对象。这个方式也就是强制过期(forced expiry),他是通过设置你想清除的对象的TTL为0去强制它过期。
10. HTTPS 服务证书 缓存在哪里
您搞错了,HTTPS协议是来自于CA SSL证书,公网信任证书已经在浏览器信任目录里面,所以您打开网站访问的域名,中间证书与根证书,早就被浏览器信任了,而签发的域名,是在CA服务器里面直接读取信任的,而这个读取匹配是站长与CA之前信任产生的,这个证书的域安装到对应的服务器完成。
本地电脑查看证书,开始运行中输入certmgr.msc