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