I’m developing an application in Apache2/mod_perl with nginx sitting
in front of it in a reverse-proxy configuration with SSL/HTTPS on
nginx. We have multiple instances of this configuration installed,
and they communicate with each other with Ajax requests called via
LWP. So an HTTP call to one web app can result in that webapp
connecting to the nginx on another server in order to make an Ajax
call to the other machine’s nginx/Apache.
This works in almost all cases, though on occasion we get a 500 SSL
negotiation failed message, and get these error logs on the “target”
instance of nginx:
==> /var/log/nginx/admin-access.log <==
10.18.3.216 - - [18/Jul/2008:17:27:11 +0000] - “400” 0 “-” “-” “-”
10.18.3.216 - - [18/Jul/2008:17:27:11 +0000] - “400” 0 “-” “-” “-”
==> /var/log/nginx/admin-error.log <==
2008/07/18 17:27:11 [crit] 3094#0: *2302 SSL_do_handshake() failed
(SSL: error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown
protocol) while reading client request line, client: 10.18.3.216,
server: _
==> /var/log/nginx/admin-access.log <==
10.18.3.216 - - [18/Jul/2008:17:27:11 +0000] - “400” 0 “-” “-” “-”
Has anyone seen this at all? Any light you can shed on this would be
greatly appreciated.