Django ASGI (HTTP/WebSocket) server
Project description
Daphne is a HTTP, HTTP2 and WebSocket protocol server for ASGI, and developed to power Django Channels.
It supports automatic negotiation of protocols; there’s no need for URL prefixing to determine WebSocket endpoints versus HTTP endpoints.
Running
Simply point Daphne to your ASGI channel layer instance, and optionally set a bind address and port (defaults to localhost, port 8000):
daphne -b 0.0.0.0 -p 8001 django_project.asgi:channel_layer
If you intend to run daphne behind a proxy server you can use UNIX sockets to communicate between the two:
daphne -u /tmp/daphne.sock django_project.asgi:channel_layer
If daphne is being run inside a process manager such as Circus you might want it to bind to a file descriptor passed down from a parent process. To achieve this you can use the –fd flag:
daphne --fd 5 django_project.asgi:channel_layer
If you want more control over the port/socket bindings you can fall back to using twisted’s endpoint description strings by using the –endpoint (-e) flag, which can be used multiple times. This line would start a SSL server on port 443, assuming that key.pem and crt.pem exist in the current directory (requires pyopenssl to be installed):
daphne -e ssl:443:privateKey=key.pem:certKey=crt.pem django_project.asgi:channel_layer
To see all available command line options run daphne with the -h flag.
Root Path (SCRIPT_NAME)
In order to set the root path for Daphne, which is the equivalent of the WSGI SCRIPT_NAME setting, you have two options:
Pass a header value Daphne-Root-Path, with the desired root path as a URLencoded ASCII value. This header will not be passed down to applications.
Set the --root-path commandline option with the desired root path as a URLencoded ASCII value.
The header takes precedence if both are set. As with SCRIPT_ALIAS, the value should start with a slash, but not end with one; for example:
daphne --root-path=/forum django_project.asgi:channel_layer
Maintenance and Security
To report security issues, please contact security@djangoproject.com. For GPG signatures and more security process information, see https://docs.djangoproject.com/en/dev/internals/security/.
To report bugs or request new features, please open a new GitHub issue.
This repository is part of the Channels project. For the shepherd and maintenance team, please see the main Channels readme.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for daphne-1.0.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7b11487de22119de3eeae1be2c1cff08ff29dd7c1ad9060d6045c87974ecaf2 |
|
MD5 | 7b896bf1107bb17c265df72def5a0f27 |
|
BLAKE2b-256 | cc78f3c01c6c44cc6b265bd1bd3450b8024951687d15c726c903ac0f9285e236 |