使用 FASTCGI 的 IIS 上的 Django 通道

问题描述 投票:0回答:1

我正在使用 IIS 服务器部署 Django 应用程序。在此 Django 应用程序中,我实现了 Django Channels 以使用 websockets。在本地,Websocket 连接一切正常,我可以发送消息。但是,当我部署 Django 应用程序时,问题就出现了。 HTTPS 工作得很好,但 WSS(WebSocket Secure)无法工作。我遇到 404 未找到错误。

我正在尝试的网址是

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)],
            },
        },
    }
python django websocket django-channels daphne
1个回答
0
投票

我遇到了同样的问题,我使用 Daphne 和通道解决了这个问题。 我的 web.config 文件包含

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

请首先确保使用 IIS 和 FASTCGI 的 Django 项目配置正确

© www.soinside.com 2019 - 2024. All rights reserved.