Каналы Django на IIS с помощью FASTCGI
Я развертываю приложение Django с помощью сервера IIS. В этом приложении Django я реализовал Django Channels для использования вебсокетов. Локально все работает нормально с соединениями websocket, и я могу отправлять сообщения. Однако проблема возникает, когда я разворачиваю приложение Django. HTTPS работает отлично, но WSS (WebSocket Secure) не работает. Я сталкиваюсь с ошибкой 404 not found.
Урл, в котором я пытаюсь это сделать
wss://my_domain/ws/start-quiz/
также обратите внимание, что я использую memurai вместо redis для использования channel_layers
CHANNEL_LAYERS = {
'default': {
'BACKEND': 'channels_redis.core.RedisChannelLayer',
'CONFIG': {
"hosts": [('127.0.0.1', 6370)],
},
},
}
У меня была такая же проблема, я решил ее, используя Daphne с каналами. мой файл web.config conatins
rules>
<rule name="WebSocketProxy" stopProcessing="true">
<match url="^ws/(.*)" />
<action type="Rewrite" url="http://127.0.0.1:8001/ws/{R:1}" />
</rule>
</rules>
и для запуска Daphne на локальном компьютере я использовал следующую команду
daphne -p 8000 your_project_name.asgi:application
Пожалуйста, сначала убедитесь, что конфигурация вашего проекта Django, использующего IIS с FASTCGI, верна