【发布时间】:2021-04-29 20:51:32
【问题描述】:
我正在尝试通过 Daphne 使用 Django 频道进行原型制作。结构如图所示。当我在没有 SSL (wss) 的情况下部署它时,一切正常(它连接、发送消息等)。我继续在本地使用 wss,使用自签名证书,它也可以工作。但是当通过在 EC2(云)中部署它来测试它时,它会等待很长时间,最后它说连接失败,在后端日志中,它甚至没有显示连接请求尝试到达。
这就是我在 Daphne - EC2 上部署的方式,带有自签名证书(因为这是一个测试)。注意:8000端口在安全组中是开放的。
daphne -e ssl:8000:privateKey=key.pem:certKey=cert.pem prototype.asgi:application
并使用我正在使用的本地前端(Angular):
angular.json
[...]
"serve": {
[...]
"options": {
"sslKey": "src/assets/key.pem",
"sslCert": "src/assets/cert.pem"
}
[...]
}
[...]
Websocket 调用
private initChannel(arg: string, arg2: string) {
this.webSocketSubject = webSocket('wss://' + this.EC2_IP + ':8000/prototype/?arg=' + arg + '&arg2=' + arg2);
}
部署命令:
ng serve --ssl
你突然知道可能会发生什么?
我已经看到大多数通过 nginx 部署它,但原型纯粹是通过 websocket(通道),所以目前不需要平衡器或代理。此部署是否必须使用 Nginx?
【问题讨论】:
标签: ssl amazon-ec2 django-channels daphne