0

我需要一些帮助。我在 domain.se:80 上有 Web 服务器,在 domain.se:8080 上有一个 REST API。我的网站是从 domain.se:80 加载的,它是一个单页应用程序,因此只需一次加载就足够了,随后会调用 REST API。尝试这个时什么也没发生。该应用程序拒绝调用我的 REST API。阅读此内容时,这可能被视为 XSS 问题吗?Web 浏览器是否认为我的 REST API 位于另一个端口(8080)而不是加载站点的位置(80),因为它是由 Javascript 调用的?

有谁认识这个问题?它必须是单页应用程序的一个非常常见的设置。我用 nginx 解决了这个问题,让 nginx 暴露端口 80,然后如果 url 以 /api/v1 开头,则将请求传递给 REST API,并且所有其他请求都传递给 Web 服务器。但这感觉像是一种变通方法,我想让 nginx 不碍事 :)

提前致谢。

4

1 回答 1

1

所以你有两种选择。

  1. 像你做的那样做代理,我们在所有情况下都用 8080 上的 tomcat 做
  2. 使用 jsonp 调用而不是直接 json。这不会导致 xss 问题。

您可以在此处阅读有关 jsonp 的更多信息: http ://en.wikipedia.org/wiki/JSONP

我通常使用 tomcat 来提供静态组件、负载平衡和安全性。

谢谢

克里斯

于 2013-01-23T17:11:52.440 回答