Nginx代理websocket

该博客介绍了如何通过Nginx配置代理WebSocket服务。配置文件`nginx.conf`中设置了监听端口8090,并将请求代理到192.168.1.130:8080的WebSocket服务上。通过设置`add_header`允许跨域请求,并处理预检请求。测试时,用户可以通过ws://192.168.1.129:8090/websocket业务路径连接WebSocket。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 nginx.conf配置

	server {
	    listen 8090; 
	    server_name   localhost;
	    
	    add_header Access-Control-Allow-Origin *;
	    add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
	    add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
	    if ($request_method = 'OPTIONS') {
	        return 204;
	    }

	    location / {
	        #要代理的websocket所在的IP和端口号,注意是http不是ws
	        proxy_pass http://192.168.1.130:8080;
	        proxy_http_version 1.1;
	        proxy_set_header Upgrade $http_upgrade;
	        proxy_set_header Connection "upgrade";
	    }
	}

测试地址 

假如,nginx服务IP地址是192.168.1.129,则请求代理的websocket地址为:ws://192.168.1.129:8090/websocket业务路径

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值