HTTP Client Sending Erroneous Content-Length Header
I use LigHTTPd for my front-end HTTP daemon, and for a while, I was proxying requests through nginx. I've recently finished a working pure-lighttpd configuration, however, and nixed nginx. I now notice that I am getting HTTP 400 errors from lighttpd when sending API requests from gitlab-shell.
gitlab-shell.log:
time="2019-02-21T02:18:02-06:00" level=info msg="finished HTTP request" duration=0.482453862 method=GET pid=14986 url="https://[redacted]/api/v4/internal/check"
time="2019-02-21T02:18:02-06:00" level=error msg="Call failed" body="<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\n <head>\n <title>400 Bad Request</title>\n </head>\n <body>\n <h1>400 Bad Request</h1>\n </body>\n</html>\n" code=400 method=GET pid=14986 url="https://[redacted]/api/v4/internal/check"
lighttpd/error.log:
2019-02-21 02:31:20: (request.c.1163) GET/HEAD with content-length -> 400
Apparently, gitlab-shell is sending a GET or HEAD request with a Content-Length header, which is... Wrong?. As a result, lighttpd is triggering an error.