在Daphne上通过渠道部署Django应用-SSL

Phi*_*ilS 5 python django ssl nginx daphne

我正在尝试部署一个简单的django应用程序以接收websocket消息(wss)。

我正在使用以下命令:

daphne -e ssl:443:privateKey=key.pem:certKey=cert.cer bms_project.asgi:channel_layer
Run Code Online (Sandbox Code Playgroud)

在settings.py文件中包含以下内容:

SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
SECRET_KEY = os.environ["SECRET_KEY_BMS"]
Run Code Online (Sandbox Code Playgroud)

以及以下asgi.py文件:

import os
from channels.asgi import get_channel_layer

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "bms_project.settings")

# secret key
os.environ["SECRET_KEY_BMS"] = "some random self-signing key off the internet"

channel_layer = get_channel_layer()
Run Code Online (Sandbox Code Playgroud)

给出以下错误:

 File "c:\program files\python36\lib\site-packages\django\conf\__init__.py", line 129, in __init__
raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.
Run Code Online (Sandbox Code Playgroud)

我觉得我对密钥的处理不正确,不知道正确的方法是什么。

小智 0

如果您要部署到服务器,请阅读以下内容:http ://masnun.rocks/2016/11/02/deploying-django-channels-using-daphne/

  • 像这样工作得很好(没有反向代理),当我尝试实现 ssl 时,一切都崩溃了 (3认同)
  • @PhilS 嘿。您找到 ssl 的解决方案了吗? (2认同)