我在使用Django频道开发网络应用时遇到问题。在便携式计算机上,WebSocket可以完美运行:数据接收良好,发送完毕。但是在所有iPhone上,它都无法正常工作。多亏了Web检查员,我才发现了错误:由于连接不安全(ws),连接被阻止了。 IOS Chrome同样存在问题,但Ecosia可以工作。该应用程序可以在Android上正常运行。如何防止IOS野生动物园(和Chrome)阻止连接?谢谢。
由我自己找到。我必须确保连接(https)。在Django / heroku中,我必须在settings.py中添加这两行
SECURE_SSL_REDIRECT = True
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
并在我的js文件中使用路径'wss:// ...'创建Websocket构造函数,现在由websocket保护了。
仍然不知道为什么IOS野生动物园使用ws websocket阻止了连接。
请注意,这些设置仅在生产中有效。