#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 [email protected].
To post to this group, send email to [email protected].
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.

Reply via email to