title: nginx critical error with SSL handshaking
body: <p>I have problem with my nginx on Ubuntu 14.04 LTS. From time to time I get a critical error:</p>
  
  <pre><code>2015/01/18 12:59:44 [crit] 1065#0: *28289 SSL_do_handshake() failed (SSL: error:140A1175:SSL routines:SSL_BYTES_TO_CIPHER_LIST:inappropriate fallback) while SSL handshaking, client: 10.0.2.2, server: 0.0.0.0:443
  </code></pre>
  
  <p>I've checked version of my OpenSSL:</p>
  
  <pre><code>root@www:~# ldd `which nginx` | grep ssl
          libssl.so.1.0.0 =&gt; /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f39e236b000)
  
  root@www:~# strings /lib/x86_64-linux-gnu/libssl.so.1.0.0 | grep "^OpenSSL "
  OpenSSL 1.0.1f 6 Jan 2014
  </code></pre>
  
  <p>I've searched for more information about it and found that it might be problem with old version OpenSSL. So I've tried to compile the latest version:</p>
  
  <pre><code>wget https://www.openssl.org/source/openssl-1.0.1l.tar.gz &amp;&amp; tar xzf &amp;&amp; cd openssl-1.0.1l
  
  ./config &amp;&amp; make &amp;&amp; make install
  </code></pre>
  
  <p>I've also replaced old OpenSSL binary file with new one via symlink:</p>
  
  <pre><code>ln -sf /usr/local/ssl/bin/openssl `which openssl`
  </code></pre>
  
  <p>After that I have:</p>
  
  <pre><code>root@www:~# openssl version
  OpenSSL 1.0.1l 15 Jan 2015
  </code></pre>
  
  <p>But still I have the old version in nginx:</p>
  
  <pre><code>root@www:~# strings /lib/x86_64-linux-gnu/libssl.so.1.0.0 | grep "^OpenSSL "
  OpenSSL 1.0.1f 6 Jan 2014
  </code></pre>
  
  <p>I couldn't find any other new libssl in Ubuntu after updating OpenSSL. How do I update libssl so that nginx could use the newest version?</p>
  
  <p>P.S.1. Maybe the problem with critical error isn't about version of OpenSSL.</p>
  
  <p>P.S.2. I think that this crtitical error might affect my whole Virtual Machine. I have also a problem with "from time to time" crashing of VM.</p>
  
  <p>I've tried so many things and now I am hopeless. Stackoverflow please help!</p>