WebSocket的Nginx配置

2024-05-28 21:09:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我的bearle django私人聊天服务器配置和WebSocket有问题。我收到以下错误连接超时错误:

WebSocket connection to 'wss://www.example.me:5002/vzyhorv3hkinr105zh34oab3akgu4685/Chat_with_User failed: Error in connection establishment: net::ERR_CONNECTION_TIMED_OUT

这是我的django settings.py:

CHAT_WS_SERVER_HOST = 'www.example.me'
CHAT_WS_SERVER_PORT = 5002
CHAT_WS_SERVER_PROTOCOL = 'wss'
CHAT_WS_CLIENT_HOST = 'www.example.me'
CHAT_WS_CLIENT_PORT = 80
CHAT_WS_CLIENT_ROUTE = 'wss/'

这是我的nginx(/etc/nginx/sites available/nginx):

server {

    server_name example.me www.example.me;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/christian/project_mojo/project_mojo;
    }

    location /media/ {
        root /home/christian/project_mojo/project_mojo;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;

    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/example.me/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.me/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

    }
server {
    if ($host = www.example.me) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = example.me) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    listen 80;
    server_name example.me www.example.me;
    return 404; # managed by Certbot

}
server {
    listen [::]:5002;

    location / {
    proxy_pass https://example.me;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
    }
}

Nginx-t还可以。但是,我确信nginx没有正确设置。有人能帮忙吗?谢谢


Tags: projectsslbywsserverexamplewwwchat

热门问题