【问题标题】:Nodejs Crossdomain IssueNodejs跨域问题
【发布时间】:2013-10-08 15:29:21
【问题描述】:

我正在尝试使用 Unity3D 和 UniWeb 包连接到本地 nodejs 服务器。但它一直告诉我:

无法连接,因为没有找到有效的跨域策略

Unity Security Sandbox

问题很简单:如何设置跨域策略?我应该使用 route 还是 app.use() ?

可以设置situation #2吗?

【问题讨论】:

    标签: node.js http cross-domain


    【解决方案1】:

    我需要提供Socket Policy Server

    【讨论】:

      【解决方案2】:

      作为文档,crossdomain.xml 必须在根目录下。

      如果您不在 url 中使用子路径(例如:example.com/subpath/)并且您将 app.use(express.static(path.join(__dirname, 'public'))); 用于静态文件,则公共目录将映射到根目录。所以你可以把crossdomain.xml放到public目录中。

      【讨论】:

      • 我将app.use(express.static(path.join(__dirname, 'client'))); 用于静态文件。我使用子路径:http://localhost:3000/api/login.
      • 如果你使用app.use(express.static(path.join(__dirname, 'client')));client 目录在根目录下,你可以访问 localhost:3000/crossdomain.xml 。不能吗?
      • 是的,我已经将 crossdomain.xml 放在了我的客户端文件夹中,我可以访问它抛出了 localhost:3000/crossdomain.xml 但 Unity 一直告诉我 Unable to connect, as no valid crossdomain policy was found。我有点困惑。
      • 另一件事是,当我调用它抛出 Unity 时,我在服务器日志中看不到任何 crossdomain.xml 调用。
      猜你喜欢
      • 2013-11-25
      • 2017-08-29
      • 2017-08-15
      • 2012-03-12
      • 2012-12-11
      相关资源
      最近更新 更多