nginx想做一個https雙向認證。為什麼瀏覽器不出現證書選擇呢?
證書都只openssl自製的。https單向伺服器證書雖然來警告不受信任但是沒問題。
server {
listen 443;
server_name 192.168.0.14;
ssl on;
ssl_certificate server.crt;
ssl_certificate_key server.key;
ssl_verify_client on;#開這個就不行了。
ssl_client_certificate C1.crt;
ssl_session_timeout 5m;
訪問https就出現
400 Bad Request
No required SSL certificate was sent
nginx/0.7.65
看了下nginx的資料貌似是出現 469 錯誤
ngx_http_finalize_request(r, NGX_HTTPS_NO_CERT);
說是客戶端無請求的證書。
log 出現
2010/05/14 15:58:18 12276#0: *3 SSL_do_handshake() failed (SSL: error:140D9115:SSL routines:SSL_GET_PREV_SESSION:session id context uninitialized) while SSL handshaking, client: 192.168.0.14, server: 192.168.0.14
嘗試好多瀏覽器都不行。沒出現證書選擇窗口就400了。裝了私鑰也不行。估計是那個C1.crt的問題
根據這篇帖子來的
http://blog.csdn.net/rosw/archive/2008/12/03/3441187.aspx
求解https客戶端證書是否需要什麼特別的東西。還是那些地址信息得特別處理?無頭緒中。求意見
環境是arch x64.openssl 1.0。
ngx-ssl肯定是有的。
《解決方案》
調了下伺服器證書。
現在ie7 ie6正常了。
ie8 firefox chrome繼續400 無被請求的證書。
。。。cao 他怎麼知道我沒證書的。我有阿。
安全設定問題???