Skip to content

Commit

Permalink
Merge pull request #2727 from locustio/rewrite-confusing-error-messag…
Browse files Browse the repository at this point in the history
…es-if-someone-accesses-an-http-web-ui-using-https

Improve confusing log messages if someone accidentally accesses the Web UI over HTTPS
  • Loading branch information
cyberw committed May 25, 2024
2 parents 00cda8c + 84ada19 commit adc2957
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion locust/web.py
Original file line number Diff line number Diff line change
Expand Up @@ -530,7 +530,17 @@ def start_server(self):
(self.host, self.port), self.app, log=None, keyfile=self.tls_key, certfile=self.tls_cert
)
else:
self.server = pywsgi.WSGIServer((self.host, self.port), self.app, log=None)

class RewriteFilter(logging.Filter):
def filter(self, record) -> bool:
msg = record.msg
if msg.find("gevent._socket3.socket at") and msg.find("Invalid HTTP method: '\x16\x03"):
record.msg = f"A request against Locust's Web UI was made using https:// instead of http:// (underlying error was {record.msg})"
return True

logger.addFilter(RewriteFilter())
self.server = pywsgi.WSGIServer((self.host, self.port), self.app, log=None, error_log=logger)

self.server.serve_forever()

def stop(self):
Expand Down

0 comments on commit adc2957

Please sign in to comment.