使用nginx部署daphne报AttributeError错误

在开发环境下websocket运行正常,使用nginx部署后,报错。
报错信息如下:

2023-08-21 16:54:06,360 ERROR    [Failure instance: Traceback: <class 'AttributeError'>: 'NoneType' object has no attribute 'replace'
/usr/local/lib/python3.9/site-packages/autobahn/websocket/protocol.py:2909:processHandshake
/usr/local/lib/python3.9/site-packages/txaio/tx.py:369:as_future
/usr/local/lib/python3.9/site-packages/twisted/internet/defer.py:206:maybeDeferred
/usr/local/lib/python3.9/site-packages/daphne/ws_protocol.py:72:onConnect
--- <exception caught here> ---
/usr/local/lib/python3.9/site-packages/twisted/internet/defer.py:206:maybeDeferred
/usr/local/lib/python3.9/site-packages/daphne/server.py:200:create_application
/usr/local/lib/python3.9/site-packages/channels/routing.py:58:__call__
/usr/local/lib/python3.9/site-packages/channels/security/websocket.py:35:__call__
/usr/local/lib/python3.9/site-packages/channels/security/websocket.py:53:valid_origin
/usr/local/lib/python3.9/site-packages/channels/security/websocket.py:72:validate_origin
/usr/local/lib/python3.9/site-packages/channels/security/websocket.py:73:<genexpr>
/usr/local/lib/python3.9/site-packages/channels/security/websocket.py:97:match_allowed_origin
/usr/local/lib/python3.9/urllib/parse.py:393:urlparse
/usr/local/lib/python3.9/urllib/parse.py:462:urlsplit
]

这是因为,在urllib3.AllowedHostsOriginValidator被破坏了。我解决了这个问题,编辑了我的asgi.py file.

application = ProtocolTypeRouter({
    "websocket": AllowedHostsOriginValidator(
        AuthMiddlewareStack(
            URLRouter(
                websocket_urlpatterns
            )
        )
    ) 
})
# 将上面代码改成
application = ProtocolTypeRouter({
    "websocket": AuthMiddlewareStack(
        URLRouter(
            websocket_urlpatterns
        ) 
    )
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值