当前位置:论坛首页 > Linux面板 > 求助

【已解决】websocket连接失败,是否为nginx配置问题?

发表在 Linux面板2022-1-18 19:24 [复制链接] 4 7384

以下是nginx配置,请问应该在哪里添加websocket部分呢?

user  www www;
worker_processes auto;
error_log  /www/wwwlogs/nginx_error.log  crit;
pid        /www/server/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;

events
    {
        use epoll;
        worker_connections 51200;
        multi_accept on;
    }

http
    {
        include       mime.types;
                #include luawaf.conf;

                include proxy.conf;

        default_type  application/octet-stream;

        server_names_hash_bucket_size 512;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        client_max_body_size 50m;

        sendfile   on;
        tcp_nopush on;

        keepalive_timeout 60;

        tcp_nodelay on;

        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 256k;
                fastcgi_intercept_errors on;

        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.1;
        gzip_comp_level 2;
        gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml;
        gzip_vary on;
        gzip_proxied   expired no-cache no-store private auth;
        gzip_disable   "MSIE [1-6]\.";

        limit_conn_zone $binary_remote_addr zone=perip:10m;
                limit_conn_zone $server_name zone=perserver:10m;

        server_tokens off;
        access_log off;

server
    {
        listen 888;
        server_name phpmyadmin;
        index index.html index.htm index.php;
        root  /www/server/phpmyadmin;
            location ~ /tmp/ {
                return 403;
            }

        #error_page   404   /404.html;
        include enable-php.conf;

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /\.
        {
            deny all;
        }
        location / {  

        }

        access_log  /www/wwwlogs/access.log;

    }

include /www/server/panel/vhost/nginx/*.conf;
}


使用道具 举报 只看该作者 回复
发表于 2022-1-18 21:16:59 | 显示全部楼层
您好,并非是在nginx主配置上进行修改的,您修改对应网站的配置即可。如您的url地址定义的是
  1. var socket = new WebSocket("wss://www.bt.cn/socket/");
复制代码
注意后面是 /socket/  不是 /socket
在网站伪静态中添加


  1. location /socket/ {
  2.     proxy_pass http://127.0.0.1:3000;           
  3.     proxy_http_version 1.1;
  4.     proxy_set_header Upgrade $http_upgrade;
  5.     proxy_set_header Connection "Upgrade";
  6.     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  7.     proxy_set_header X-Real-IP $remote_addr;
  8. }
复制代码


    proxy_pass http://127.0.0.1:3000;           
这是你的项目本地跑的地址,访问 wss://www.bt.cn/socket/  跳转到 http://127.0.0.1:3000
使用道具 举报 回复 支持 1 反对 0
发表于 2022-1-18 21:49:44 | 显示全部楼层
大炮运维V587 发表于 2022-1-18 21:16
您好,并非是在nginx主配置上进行修改的,您修改对应网站的配置即可。如您的url地址定义的是
注意后面是 /s ...

感谢感谢,可以了!
使用道具 举报 回复 支持 反对
发表于 2022-1-19 12:12:33 | 显示全部楼层

好的
使用道具 举报 回复 支持 反对
发表于 2022-5-19 11:14:03 | 显示全部楼层
问题已解决,感谢帖子
https://blog.csdn.net/chendongpu/article/details/123354674
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表