我已经安装了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的完整路径,以及仅为其编码的/vapi
和proxy.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是第一个路径的一部分?
答案 0 :(得分:-1)
显然,服务器上存在一些策略锁定。 SA启用了端口到端口的通信,但是其他原因阻止了此通信。
对@MikeOne表示衷心的感谢,对那里的负面消息,我们会尽力提供帮助。