启用防火墙后无法连接后端,求配置Nginx支持Geckos.io UDP
解决方案
一、调整防火墙规则
Ubuntu默认使用ufw防火墙,需添加以下规则确保Geckos.io的流量能正常通过:
- 允许外部访问信令端口9208/tcp:
sudo ufw allow 9208/tcp - 允许外部UDP流量(Geckos.io对等连接依赖随机UDP端口):
(可选优化:若想缩小范围,可在Geckos.io应用配置中指定固定UDP端口区间,比如sudo ufw allow 0:65535/udp30000-60000/udp,防火墙仅开放该区间即可) - 重新加载防火墙规则生效:
sudo ufw reload
二、修改Nginx配置
Geckos.io需要TCP信令代理和UDP流量转发,需启用Nginx的stream模块(Ubuntu官方Nginx包默认自带),具体配置如下:
新建流代理配置文件(例如
/etc/nginx/conf.d/geckos-stream.conf):stream { # 代理TCP信令流量到后端应用 upstream geckos_tcp { server 127.0.0.1:9208; # 替换为你的应用实际监听的TCP端口 } server { listen 9208; proxy_pass geckos_tcp; } # 代理UDP对等连接流量到后端应用 upstream geckos_udp { server 127.0.0.1:9208; # 若应用UDP监听端口与TCP不同,需修改此处 } server { listen 9208 udp; proxy_pass geckos_udp; proxy_responses 1; # UDP为无连接协议,需指定响应次数 } }验证配置合法性:
sudo nginx -t重启Nginx使配置生效:
sudo systemctl restart nginx
三、验证连接
- 检查防火墙规则状态,确认目标端口已开放:
sudo ufw status - 用游戏客户端尝试连接后端,验证信令建立和UDP对等连接是否正常。
内容的提问来源于stack exchange,提问作者Qile
相关产品推荐
相关产品推荐

