[Django] #25383: Trying to access the local server in HTTPS throw a 400 error

42 views
Skip to first unread message

Django

unread,
Sep 11, 2015, 10:54:51 AM9/11/15
to django-...@googlegroups.com
#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.

Django

unread,
Sep 11, 2015, 11:08:01 AM9/11/15
to django-...@googlegroups.com
#25383: Trying to access the local server in HTTPS throw a 400 error
-------------------------------------+-------------------------------------
Reporter: mlorant | Owner: nobody
Type: | Status: new
Cleanup/optimization |

Component: HTTP handling | Version: 1.8
Severity: Normal | Resolution:
Keywords: | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by collinanderson):

* needs_better_patch: => 0
* needs_tests: => 0
* needs_docs: => 0


Comment:

Interesting. There should be a friendly message from #23398. The friendly
message works for me. You're using django 1.8?


{{{
You're accessing the development server over HTTPS, but it only supports
HTTP.
[11/Sep/2015 10:06:13] code 400, message Bad request syntax
('\x16\x03\x01\x00·\x01\x00\x00³\x03\x03³Ü\x8eñì\x87È\x11,hÛ=P\x80¦ËÚ\x9f\x81\'Or%?\x1afp\x883µ°Ý\x00\x00"À+À/\x00\x9eÌ\x14Ì\x13Ì\x15À')
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/25383#comment:1>

Django

unread,
Sep 11, 2015, 11:09:27 AM9/11/15
to django-...@googlegroups.com
#25383: Trying to access the local server in HTTPS throw a 400 error
-------------------------------------+-------------------------------------
Reporter: mlorant | Owner: nobody
Type: | Status: new
Cleanup/optimization |
Component: HTTP handling | Version: 1.7
Severity: Normal | Resolution:
Keywords: | Triage Stage:
| Unreviewed

Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by mlorant):

* version: 1.8 => 1.7


--
Ticket URL: <https://code.djangoproject.com/ticket/25383#comment:2>

Django

unread,
Sep 11, 2015, 11:10:06 AM9/11/15
to django-...@googlegroups.com
#25383: Trying to access the local server in HTTPS throw a 400 error
-------------------------------------+-------------------------------------
Reporter: mlorant | Owner: nobody

Type: | Status: new
Cleanup/optimization |
Component: HTTP handling | Version: 1.7
Severity: Normal | Resolution:
Keywords: | Triage Stage:
| Unreviewed

Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by mlorant):

I mistagged the ticket first, sorry. We are using Django 1.7, I did not
try on Django 1.8 indeed.

--
Ticket URL: <https://code.djangoproject.com/ticket/25383#comment:3>

Django

unread,
Sep 11, 2015, 11:40:21 AM9/11/15
to django-...@googlegroups.com
#25383: Trying to access the local server in HTTPS throw a 400 error
-------------------------------------+-------------------------------------
Reporter: mlorant | Owner: nobody
Type: | Status: closed

Cleanup/optimization |
Component: HTTP handling | Version: 1.7
Severity: Normal | Resolution: duplicate
Keywords: | Triage Stage:
| Unreviewed

Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by timgraham):

* status: new => closed
* resolution: => duplicate


--
Ticket URL: <https://code.djangoproject.com/ticket/25383#comment:4>

Reply all
Reply to author
Forward
0 new messages