You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Godot开发Web游戏:局域网访问问题及npx serve报错求助

解决Godot Web游戏局域网IPv4访问问题及配置说明

为什么开发阶段需要HTTPS和跨源头?

  • 核心原因是SharedArrayBuffer API:现代浏览器为了安全,要求这个Godot Web游戏依赖的API只能在安全上下文中使用,且必须开启跨源隔离。
    • localhost是浏览器默认豁免的安全上下文,所以直接用localhost能正常运行;但用IPv4(比如192.168.x.x)访问时,浏览器不认定这是安全上下文,必须通过HTTPS来满足要求。
    • 生产环境并非真的不需要HTTPS,只是部分托管平台默认帮你配置了必需的头,或者内网封闭场景下有临时宽松空间,但从浏览器安全规范来说,这些配置是刚需,不是开发阶段的特殊要求。

解决局域网访问的具体步骤

方法1:用支持HTTPS和自定义头的本地服务器(推荐)

替换npx serve,用http-server来配置符合要求的服务器:

  1. 安装http-server:
    npm install -g http-server
    
  2. 生成自签名证书(用于局域网HTTPS访问):
    openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
    
  3. 进入/home/user/.cache/godot/web目录,启动服务器并添加必需的响应头:
    http-server -S -C cert.pem -K key.pem -c-1 --cors --header "Cross-Origin-Opener-Policy: same-origin" --header "Cross-Origin-Embedder-Policy: require-corp"
    
    参数说明:
    • -S:启用HTTPS
    • -C/-K:指定刚才生成的证书和密钥文件
    • -c-1:禁用缓存(方便开发调试时实时更新)
    • 最后两个头是开启跨源隔离的必需配置,用来满足SharedArrayBuffer的使用条件

方法2:通过Godot导出配置直接生成可用的Web服务包

  1. 在Godot编辑器中打开项目 > 导出,选择HTML5平台
  2. 在导出设置的服务器选项里,勾选“包含启动服务器脚本”(不同Godot版本表述可能略有不同)
  3. 导出项目后,运行生成的服务器脚本(通常是server.py),它会自动配置好所需的头和HTTPS,直接用IPv4访问即可

方法3:临时绕过浏览器安全限制(仅开发调试用,不推荐)

如果只是临时测试,可以给Chrome/Edge加启动参数关闭安全检查:

# Windows
chrome.exe --disable-web-security --user-data-dir="C:/ChromeTemp"

# Linux
google-chrome --disable-web-security --user-data-dir="/tmp/ChromeTemp"

注意:这个操作会关闭浏览器的安全防护,只能用于本地开发测试,绝对不能用于日常浏览。

内容的提问来源于stack exchange,提问作者imv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 21:47:12