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
This commit is contained in:
Jordan Pittier 2017-02-14 16:48:20 +01:00
parent 6bd3561e9d
commit 4370925181
1 changed files with 4 additions and 0 deletions

View File

@ -519,6 +519,10 @@ $listen_string
SSLEngine On
SSLCertificateFile $DEVSTACK_CERT
# Disable KeepAlive to fix bug #1630664 a.k.a the
# ('Connection aborted.', BadStatusLine("''",)) error
KeepAlive Off
<Location />
ProxyPass http://$b_host:$b_port/ retry=5 disablereuse=on keepalive=off nocanon
ProxyPassReverse http://$b_host:$b_port/