Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
接受客户端连接时出错:错误SSL例程:ssl3\u get\u记录:错误的版本号HEROKU DJANGO通道_Heroku_Websocket_Redis_Django Channels_Heroku Redis - Fatal编程技术网

接受客户端连接时出错:错误SSL例程:ssl3\u get\u记录:错误的版本号HEROKU DJANGO通道

接受客户端连接时出错:错误SSL例程:ssl3\u get\u记录:错误的版本号HEROKU DJANGO通道,heroku,websocket,redis,django-channels,heroku-redis,Heroku,Websocket,Redis,Django Channels,Heroku Redis,我已经通过互联网上的几个指南构建了我的聊天应用程序,它在我的本地主机上运行得非常好。试图在Heroku上部署我的项目时,我每次都会遇到很多问题。下面您可以看到我的日志: 2021-06-01T10:43:19.131596+00:00 app[chatworker.1]: ConnectionResetError: [Errno 104] Connection reset by peer 2021-06-01T10:43:19.455696+00:00 heroku[chatworker.1]:

我已经通过互联网上的几个指南构建了我的聊天应用程序,它在我的本地主机上运行得非常好。试图在Heroku上部署我的项目时,我每次都会遇到很多问题。下面您可以看到我的日志:

2021-06-01T10:43:19.131596+00:00 app[chatworker.1]: ConnectionResetError: [Errno 104] Connection reset by peer
2021-06-01T10:43:19.455696+00:00 heroku[chatworker.1]: Process exited with status 1
2021-06-01T10:43:19.574389+00:00 heroku[chatworker.1]: State changed from up to crashed
2021-06-01T10:43:19.000000+00:00 app[redis-contoured-10033]: Error accepting a client connection: error:1408F10B:SSL routines:ssl3_get_record:wrong version number
2021-06-01T10:43:23.147959+00:00 app[chatworker.1]: Error waiting for network: Resource temporarily unavailable 
my settings.py的代码段:

ASGI_APPLICATION = "dontbuyit.asgi.application"

CHANNEL_LAYERS = {
    'default': {
        'BACKEND': 'channels_redis.core.RedisChannelLayer',
        'CONFIG': {
            "hosts": [os.environ.get('MY_REDIS_URL', ('127.0.0.1', 6379))],
        },
    },
}
CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": os.environ.get('REDIS_URL'),
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "CONNECTION_POOL_KWARGS": {
                "ssl_cert_reqs": None
            },
        }
    }
}
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
asgi.py:

import os 
import django

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "dontbuyit.settings") django.setup() from channels.auth import AuthMiddlewareStack from channels.routing import ProtocolTypeRouter, URLRouter from django.core.asgi import get_asgi_application import chat.routing

application = ProtocolTypeRouter({   "http": get_asgi_application(),   "websocket": AuthMiddlewareStack(
        URLRouter(
            chat.routing.websocket_urlpatterns
        )
    ),

})
chat/routing.py

from django.urls import re_path

from . import consumers

websocket_urlpatterns = [
    re_path(r'ws/chat/$', consumers.ChatConsumer.as_asgi()),
    re_path(r'ws/chat/(?P<room_name>\w+)/$', consumers.ChatConsumer.as_asgi()),
    re_path(r'wss/chat/$', consumers.ChatConsumer.as_asgi()),
    re_path(r'wss/chat/(?P<room_name>\w+)/$', consumers.ChatConsumer.as_asgi()),
from channels.auth import AuthMiddlewareStack
from channels.routing import ProtocolTypeRouter, URLRouter
import chat.routing

application = ProtocolTypeRouter({
    'websocket': AuthMiddlewareStack(
        URLRouter(
            chat.routing.websocket_urlpatterns
        )
    ),
})
程序文件:

web: daphne dontbuyit.asgi:application --port $PORT --bind 0.0.0.0 -v2
chatworker: python manage.py runworker channels --settings=dontbuyit.settings -v2
我希望你能帮助我,因为我已经被困了三天,找不到有用的信息