UnityWebRequest设置本地https请求及跨域处理

2025-11-15阅读(174)评论(0)牵着狗狗看MM

苏州实时公交查询

Unity 使用 JavaScript Fetch API,它使用浏览器来处理 web 请求。这种情况下对访问跨域资源施加了安全限制。(官方说明

也就是说,如果想要请求接口(非本地的接口,比如测试环境),必须是https开头,但是打包本地路径或者调试时,发起的请求又是跨域的。

大体流程如下

所以,知道了要干什么后就开始寻找解决方案。

本地IP支持https

https需要证书,所以只需要解决本机证书问题即可

这里用到mkcert,各平台的详细安装步骤都有,这里就不赘述。

安装好并添加到环境变量后,在想要生成证书的目录下(建议在本机的nginx服务目录下,执行命令)

mkcert 你的IP地址 127.0.0.1 localhost

看到如图即表示创建成功

 

nginx中再把创建好的证书添加即可使用

添加后记得再给api做代理

# === 启用 API 代理(取消注释并优化)===
       location /api/ {
           proxy_pass https://www.example.com/;  # 注意结尾的 /

           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Forwarded-Proto $scheme;

       }

这样就完成了,记得重启下nginx服务

赞(0)
转载请注明来源:Web前端(W3Cways.com) - Web前端学习之路 » UnityWebRequest设置本地https请求及跨域处理
分享到: 更多 (0)