Opened 9 years ago
Closed 9 years ago
#25383 closed Cleanup/optimization (duplicate)
Trying to access the local server in HTTPS throw a 400 error
Reported by: | Maxime Lorant | Owned by: | nobody |
---|---|---|---|
Component: | HTTP handling | Version: | 1.7 |
Severity: | Normal | Keywords: | |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Using the manage.py runserver
command, when I try to access to https://127.0.0.1:8000 (note the https protocol), the server throws an error:
[11/Sep/2015 16:48:05] code 400, message Bad request syntax ('\x16\x03\x01\x00\xba\x01\x00\x00\xb6\x03\x03k[\xae\x88;\x81\xefJ\xa5\xa5\xa9j[F,uK\xcfb\xf4\x90\xbf\xd9k\x14\x86(w\x00_V0\x00\x00\x1e\xc0+\xc0/\xc0') ---------------------------------------- Exception happened during processing of request from ('127.0.0.1', 35451) Traceback (most recent call last): File "/usr/lib/python2.7/SocketServer.py", line 593, in process_request_thread self.finish_request(request, client_address) File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request self.RequestHandlerClass(request, client_address, self) File "my_virtual_env/local/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 129, in __init__ super(WSGIRequestHandler, self).__init__(*args, **kwargs) File "/usr/lib/python2.7/SocketServer.py", line 649, in __init__ self.handle() File "/usr/lib/python2.7/wsgiref/simple_server.py", line 117, in handle if not self.parse_request(): # An error code has been sent, just exit File "/usr/lib/python2.7/BaseHTTPServer.py", line 286, in parse_request self.send_error(400, "Bad request syntax (%r)" % requestline) File "/usr/lib/python2.7/BaseHTTPServer.py", line 368, in send_error self.send_response(code, message) File "/usr/lib/python2.7/BaseHTTPServer.py", line 385, in send_response self.log_request(code) File "/usr/lib/python2.7/BaseHTTPServer.py", line 422, in log_request self.requestline, str(code), str(size)) File "my_virtual_env/local/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 136, in log_message msg = "[%s] %s\n" % (self.log_date_time_string(), format % args) UnicodeDecodeError: 'ascii' codec can't decode byte 0xba in position 5: ordinal not in range(128) ----------------------------------------
I don't know if there are limitations about having a local server supporting the HTTPS protocol, but Django should at least throw a nicer exception. This error happened to a colleague who modified in his browser a production URL (which only works in https) to a local one, and the error was quite cryptic at first sight.
Change History (4)
comment:1 by , 9 years ago
comment:2 by , 9 years ago
Version: | 1.8 → 1.7 |
---|
comment:3 by , 9 years ago
I mistagged the ticket first, sorry. We are using Django 1.7, I did not try on Django 1.8 indeed.
comment:4 by , 9 years ago
Resolution: | → duplicate |
---|---|
Status: | new → closed |
Interesting. There should be a friendly message from #23398. The friendly message works for me. You're using django 1.8?