Pankaj Sharma
Pankaj Sharma

Reputation: 2277

How to server HTTP/2 Protocol with django

I am planing to deploy my Django application with HTTP/2 protocol but I'm unable to find the proper solution. How can I serve my Django web application with HTTP/2, the only thing that I find is hyper-h2.

I read the documentation but unable to setup the connections.

Upvotes: 21

Views: 20547

Answers (3)

Ibraheem Alyan
Ibraheem Alyan

Reputation: 522

To support HTTP 2.0, You can deploy Django apps on web servers like Daphne using ASGI (which is the spiritual successor to WSGI).

you can read more about deploying Django with ASGI in the official documentaion

to read more about ASGI and what is it, introduction to ASGI
to read more about Daphne server, official repository

Upvotes: 4

Sarath Ak
Sarath Ak

Reputation: 8689

You can do with Nginx proxy

if you have existing nginx config. you do by just adding a word .http2 in listen

    listen 443 ssl http2 default_server;

full document avaliable in

https://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-with-http-2-support-on-ubuntu-16-04

Upvotes: 15

Graham Dumpleton
Graham Dumpleton

Reputation: 58563

One option is to use Apache httpd server with mod_wsgi. Apache supports terminating HTTP/2. The link to your Django application is still via WSGI API so you don't really get any access to HTTP/2 specific features in your application. You can though configure Apache to do things like server push on your behalf.

Upvotes: 5

Related Questions