DJANGO websocket 404 not Found с wss

Я пытаюсь подключить свой веб-сокет с помощью wss по протоколу https. Но в логах получаю 404 сообщение о том, что он не найден. Но в разработке все работает нормально по протоколу http://localhost. в settings.py

CHANNEL_LAYERS = {
    "default": {
        "BACKEND": "channels_redis.core.RedisChannelLayer",
        "CONFIG": {
            "hosts": [
                ("redis-container", 6379)
            ],
        },
    },
}

Я использую Redis для хоста

и мой asgi.py

import os
from django import setup

from django.core.asgi import get_asgi_application
from channels.routing import ProtocolTypeRouter, URLRouter
from channels.security.websocket import AllowedHostsOriginValidator
from NotificationApp.routing import websocket_urlpatterns

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings.settings")
setup()

application = ProtocolTypeRouter(
    {
        "http": get_asgi_application(),
        "websocket": AllowedHostsOriginValidator(
            URLRouter(
                websocket_urlpatterns,
            )
        ),
    }
)
and my ***routes.py*** file 
from django.urls import re_path
from . import consumers

websocket_urlpatterns = [
    re_path(r"ws/notify/", consumers.NotificationConsumer.as_asgi()),
]

на фронтенде

const createWebSocket = () => {
      const socket = new WebSocket(
        `wss://localhost:8000/ws/notify/`
      );
  socket.onopen = function (e) {
    console.log("Socket successfully connected.");
  };

  socket.onclose = function (e) {
    console.log(e);
    console.log("Socket closed unexpectedly");
    // Try to reconnect every 5 seconds
    // setTimeout(createWebSocket, 5000);
  };

  socket.onmessage = function (e) {
    const data = JSON.parse(e.data);

    document.getElementById("bellIcon").className = "shakeIt";
    const wait = async () => {
      await sleep(2000);
      document.getElementById("bellIcon").className = "";
    };
    wait();
    setNotifications((prevNotifications) => [data, ...prevNotifications]);
    setUnreadNotifications((prevCount) => prevCount + 1);
  };

  return socket;
};

const socket = createWebSocket();

как я уже сказал, он прекрасно работает с HTTP (соединение успешно полностью но через HTTPS домен я получаю 404 в логах Django и если я пытаюсь подключиться через HTTPS домен, браузер ограничивает меня, говоря, что соединение небезопасно.

Вернуться на верх