问题描述
我通过互联网上的几个指南构建了我的聊天应用程序,它在我的本地主机上运行良好。尝试在 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
我的 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+)/$',re_path(r'wss/chat/$',re_path(r'wss/chat/(?P<room_name>\w+)/$',
dontbuyit/routing.py
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
我被困了三天,找不到有用的信息,希望你能帮帮我
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)