无法从 Daphne 3.0.1 中的子进程访问 localhost

问题描述

尝试从 2.4.1 升级到 3.0.1,这引入了一个奇怪的问题:

背景:

站点设置是将 FE 与作为 API 运行的 django BE 进行反应。

查询后端 (BE) api 执行一个节点脚本,该脚本运行 puppeteer 以使用无头 chrome 为用户捕获网站的 PDF。由于它在 BE 上运行,因此主机地址映射到 localhost。

问题:

如果使用子进程调用此进程,daphne(假设)会阻止请求,因此进程超时。

我已经确认脚本在同一用户和其他用户下运行时会成功。只有当通过 python/daphne 作为子进程运行时才会被阻止 - top with subprocess 报告的用户是经过测试的用户之一。

绑定明智我尝试过 http (0.0.0.0) 和标准 SSL (-e ssl:$$PYWEB_PORT:privateKey=),尝试使用 sh 和 bash 运行脚本,可以 ping/解析主机到 localhost无法访问该站点。尝试禁用 CORS 和 allowed_hosts '*' 但结果相同。不要相信这是 HOSTS/CORS 问题,因为当以用户身份运行脚本时,这也会导致问题。

从 2.4.1 更改 daphne -> 3.0.1 会导致此问题,我只是想知道是否有人可以指导我进一步测试/等,或者他们是否自己解决了这个问题。

多谢!

卡尔

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)