首页 > 解决方案 > proxy.config.json 用法——基础理解

问题描述

我使用远程服务 URL 来检索数据并在我的 Angular 6 项目中使用。由于它大多数时候都会产生 CORS 问题,因此我不得不使用 proxy.config.json。配置如下:

在 angular.json 中,在架构师内部,在服务内部,我给出了一个选项,例如:

"proxyConfig":"proxy.config.json"

在 proxy.config.json 里面,

    {
     "/push/*":{
            "target":"https://abc.xyz.bluemix.net/",
            "secure":false,
            "logLevel":"debug",
            "changeOrigin":true

        }
}

在 localhost 中运行时,当访问任何路径为 /push 的 url 时,它会自动设置从 url https://abc.xyz.bluemix.net/push/123获取数据

我还需要知道是否有办法在云上启用代理。原因是应用程序在https://sample-dev.bluemix.net上运行,因此在没有代理的情况下会出现 CORS 问题。

我面临的问题是,在这些配置之后,当我使用构建 cmd 进行构建ng build --prod并推送到云时,当访问 /push 时,我得到的响应是 index.html 中的内容,而不是应该的 json 数据收到就像我在当地收到的一样。我在想是否是由于目录结构。

底注:在服务器端启用 CORS 标头不在我的控制之下。网址是假的

标签: angular

解决方案


proxy.config.json 由这里提到的开发服务器运行。它不是下载到您的网络浏览器的任何内容。要使代理工作,您必须在生产中运行开发服务器。Angular 提供了 apache 配置的参考,如此处所示可以帮助您配置请求转发到 api 后端。


推荐阅读