【问题标题】:IOS safari and Chrome block my websocket django ChannelsIOS safari 和 Chrome 阻止了我的 websocket django 频道
【发布时间】:2020-08-25 02:16:00
【问题描述】:
我在使用 django 频道开发网络应用时遇到问题。在笔记本电脑上,websocket 完美运行:数据被很好地接收端发送。但在所有 iPhone 上,它都不起作用。感谢网络检查器,我发现了错误:连接被阻止,因为它不安全(ws)。 IOS Chrome 也有同样的问题,但 Ecosia 可以工作。该应用程序在 Android 上运行良好。
如何防止 IOS Safari(和 Chrome)阻止连接?
谢谢。
【问题讨论】:
标签:
ios
django
websocket
safari
channel
【解决方案1】:
我自己发现的。我必须确保连接(https)。在 django/heroku 中,我必须在 settings.py 中添加这两行
SECURE_SSL_REDIRECT = True
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
并在我的 js 文件中使用路径 'wss://...' 创建 Websocket 构造函数,现在通过 websocket 得到保护。
仍然不知道为什么 IOS safari 阻止了与 ws websocket 的连接。
请注意,这些设置仅适用于生产环境。