如何使用本地主机:4200到本地主机:8443解决CORS?

时间:2019-12-09 17:20:55

标签: angular proxy cors

我已经安装了tomcat,并正在运行其他开发人员给我的API战争。我可以加载该API并通过https://localhost:8443/vapi/rest/docs上的浏览器对其进行测试。我正在通过ng serve运行我们的应用程序,该应用程序运行在http://localhost:4200

我遇到的问题是,应用程序中存在引用/vapi/rest的代码,期望API在同一盒和端口上运行。如果我将我的应用程序部署到本地tomcat,则它们都可以正常运行,因为它们都位于https://localhost:8443/vui

SA已打开代理,以允许我的localhost:4200通过8443与tomcat进行通信。我假设这适用于localhost和IP地址,例如192.168.1.100:8443。尝试在4200以上运行应用程序并达到API端点收益:CORS阻止了消息。

我尝试在链接中包含localhost:8443的完整路径,以及仅为其编码的/vapiproxy.conf.json文件。

直接发送到8443,我得到消息 跨域请求被阻止:相同的原始策略不允许读取https://localhost:8443/vapi/rest/query上的远程资源。 (原因:CORS标头“ Access-Control-Allow-Origin”缺失)

使用proxy.conf.json并将其添加到angular.json文件中,我得到了404。要使它正常工作,我缺少什么?

例如,如果proxy.conf.json包含

"/api": {
  "target": "http://localhost:1234",
  "secure": false
},
"/vapi": {
  "target": "http://localhost:8443/vapi",
  "secure": false,
  "changeOrigin": true
}

此外,对于上述情况,我不了解以下情况。 如果我在localhost:4200上运行的应用程序调用了localhost:4200 / vapi,那么它将重定向到localhost:8443 / vapi,但是调用localhost:4200 / vapi / api呢?

此重定向将重定向到config.json"api"文件中找到的第一个路径,还是转到文件中第二个条目"vapi",但vapi是第一个路径的一部分?

1 个答案:

答案 0 :(得分:-1)

显然,服务器上存在一些策略锁定。 SA启用了端口到端口的通信,但是其他原因阻止了此通信。

对@MikeOne表示衷心的感谢,对那里的负面消息,我们会尽力提供帮助。