#25383: Trying to access the local server in HTTPS throw a 400 error --------------------------------------+-------------------- Reporter: mlorant | Owner: nobody Type: Cleanup/optimization | Status: new Component: HTTP handling | Version: 1.8 Severity: Normal | Keywords: Triage Stage: Unreviewed | Has patch: 0 Easy pickings: 0 | UI/UX: 0 --------------------------------------+-------------------- 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. -- Ticket URL: <https://code.djangoproject.com/ticket/25383> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To post to this group, send email to django-updates@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/050.b405574e384d83a8e9c451e1bddfca1d%40djangoproject.com. For more options, visit https://groups.google.com/d/optout.