【发布时间】:2016-01-13 02:04:29
【问题描述】:
我们有一个 tomcat 网络服务器 (server1),它托管了几个包含 JavaScript 的网页,以调用托管在不同网络服务器 (server2) 上的后端 API。
当我导航到 server1 上的网页时,它会抛出错误 -
“跨域请求被阻止:同源策略不允许读取 server2/api 上的远程资源。(原因:CORS 请求失败)。”
当我直接从 POST 客户端调用 server2 上的 api 时,我能够得到响应。
我了解我们必须在服务器上启用 CORS。但是我们应该在哪个服务器上启用 CORS?是托管网页的 Tomcat 服务器 (server1) 还是托管 API 的 API 服务器 (server2)?
此外,我们尝试通过按照http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#CORS_Filter 添加过滤器在 Tomcat 上启用 CORS 但这没有帮助。
请指教。
问候, 瑞特维克
【问题讨论】:
-
它将是 API 服务器 (server2)。如果您正确配置它应该可以工作,但是您需要提供有关 server2 上设置的更多信息,以便任何人都能够帮助您 - 什么为您的 API 提供服务?小服务程序?有什么框架吗?您是否正确映射了路径?等
-
您可以查看here
-
@CupawnTae,一个后续问题 - 为什么现在请求甚至没有到达 server2?我可以看到请求进入 server1 并返回 http304。但我什至看不到进入 server2 网络日志的请求。
标签: javascript api tomcat7 cors