Browse code

TLS proxy: disable HTTP KeepAlive

There's a race condition when a client makes a request "at the same
time" the HTTP connection is being closed by Apache because the
`KeepAliveTimeout` is expired.

This is explained in detail and can be reproduce using
https://github.com/mikem23/keepalive-race or
https://github.com/JordanP/openstack-snippets/blob/master/keepalive-race/keep-alive-race.py

Just disable KeepAlive to fix the
('Connection aborted.', BadStatusLine("''",)) error we are seeing.

Change-Id: I46e9f70ee740ec7996c98d386d5289c1491e9436

Jordan Pittier authored on 2017/02/15 00:48:20
Showing 1 changed files
... ...
@@ -519,6 +519,10 @@ $listen_string
519 519
     SSLEngine On
520 520
     SSLCertificateFile $DEVSTACK_CERT
521 521
 
522
+    # Disable KeepAlive to fix bug #1630664 a.k.a the
523
+    # ('Connection aborted.', BadStatusLine("''",)) error
524
+    KeepAlive Off
525
+
522 526
     <Location />
523 527
         ProxyPass http://$b_host:$b_port/ retry=5 disablereuse=on keepalive=off nocanon
524 528
         ProxyPassReverse http://$b_host:$b_port/