我们最近将一台服务器从slicehost迁移到linode,我们将configuration从一台服务器复制到另一台。 除了我们得到:
偶然的错误与“错误的请求”,这个错误是不常见的,你可以使用它一整天,而不是看到它,第二天会发生很多。
除此之外,很多时候,事件虽然请求工作正常,我们得到一些错误。
使用ssldump我们得到:
New TCP connection #1: myip(39831) <-> develserk(443) 1 1 0.2316 (0.2316) C>S SSLv2 compatible client hello Version 3.1 cipher suites Unknown value 0x39 Unknown value 0x38 Unknown value 0x35 TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA TLS_RSA_WITH_3DES_EDE_CBC_SHA SSL2_CK_3DES Unknown value 0x33 Unknown value 0x32 Unknown value 0x2f SSL2_CK_RC2 TLS_RSA_WITH_RC4_128_SHA TLS_RSA_WITH_RC4_128_MD5 SSL2_CK_RC4 TLS_DHE_RSA_WITH_DES_CBC_SHA TLS_DHE_DSS_WITH_DES_CBC_SHA TLS_RSA_WITH_DES_CBC_SHA SSL2_CK_DES TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA TLS_RSA_EXPORT_WITH_DES40_CBC_SHA TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 SSL2_CK_RC2_EXPORT40 TLS_RSA_EXPORT_WITH_RC4_40_MD5 SSL2_CK_RC4_EXPORT40 1 2 0.2429 (0.0112) S>C Handshake ServerHello Version 3.1 session_id[32]= 9a 1e ae c4 5f df 99 47 97 40 42 71 97 eb b9 14 96 2d 11 ac c0 00 15 67 4e f3 7d 65 4e c4 30 e9 cipherSuite Unknown value 0x39 compressionMethod NULL 1 3 0.2429 (0.0000) S>C Handshake Certificate 1 4 0.2429 (0.0000) S>C Handshake ServerKeyExchange 1 5 0.2429 (0.0000) S>C Handshake ServerHelloDone 1 6 0.4965 (0.2536) C>S Handshake ClientKeyExchange 1 7 0.4965 (0.0000) C>S ChangeCipherSpec 1 8 0.4965 (0.0000) C>S Handshake 1 9 0.5040 (0.0075) S>C ChangeCipherSpec 1 10 0.5040 (0.0000) S>C Handshake ERROR: Length mismatch
从apache error.log
[Fri Aug 27 14:50:05 2010] [debug] ssl_engine_io.c(1892): OpenSSL: I/O error, 5 bytes expected to read on BIO#b80c1e70 [mem: b8100918]
服务器是Ubuntu 10.04.1
apache的版本是2.2.14-5ubuntu8
openssl版本是0.9.8k-7ubuntu8
看来您的SSL握手在密码协商期间正在死亡。
我会检查你的SSLCipherSuite Apacheconfiguration指令。 下面的URL指向这个指令的Apache文档。
http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslciphersuite
双方都必须支持一套通用的密码,否则连接将失败。
希望这可以帮助。
只列出了443主机的conf文件,而不是80主机。 我在下面复制它:
NamevirtualHost *:80
DocumentRoot / var / www /
ServerName yeswedeal.com:80
ProxyPass / http://yeswedeal.com/ ProxyPassReverse / http // yeswedeal.com /
CustomLog /var/log/apache2/myservername-access.log组合ErrorLog /var/log/apache2/myservername-error.log
如果我正确理解你的重写语法应该在*:80站点而不是*:443站点。 那是对的吗?