Angular:如何设置代理以避免 CORS 错误

Posted

技术标签:

【中文标题】Angular:如何设置代理以避免 CORS 错误【英文标题】:Angular: How to set proxy to avoid CORS error 【发布时间】:2019-06-25 17:05:08 【问题描述】:

在 Angular 应用程序中,我以这种方式拥有 proxy.conf.json


  "/api/*": 
    "target": "http://10.127.152.161:8080",
    "secure": true,
    "changeOrigin": true
  ,

  "/rest/*": 
    "target": "http://10.127.152.161:8080",
    "secure": true,
    "changeOrigin": true
  ,

  "/auth/*": 
    "target": "http://10.127.152.161:8080",
    "secure": true,
    "changeOrigin": true
  

由于在开发模式下,Angular 应用程序在 localhost:4200 上运行,将目标设置为 ipv4 地址:8080 会导致 CORS 标头问题。由于某些原因,我必须使用 http://10.127.152.161:8080 不是 localhost:8080 或 3000 端口。我添加了 add_header 'Access-Control-Allow-Origin' '*'; nginx conf 文件,但没有运气。如何解决这个问题?

【问题讨论】:

【参考方案1】:

"secure" 属性设置为false


  "/api/*": 
    "target": "http://10.127.152.161:8080",
    "secure": false
,
...

【讨论】:

httpClient.get('10.127.152.161:8080/api/foo'), httpClient.get('/api/foo') 你的情况是? 它是 httpClient.get('/api/foo')

以上是关于Angular:如何设置代理以避免 CORS 错误的主要内容,如果未能解决你的问题,请参考以下文章

如何在使用 javascript fetch 函数时设置公共 Google Cloud Storage 存储桶的 CORS 以避免错误?

如何正确设置 GET/POST 获取的标头以避免 CORS

有啥方法可以避免 axios 中的 linkpreview.net 出现 CORS 错误,例如 Angular 中的 trustAsResourceUrl()?

Angular从客户端避免CORS问题

如何使用 Angular 7 在 django1.1 中启用 cors?

使用 Nginx 作为代理来避免 CORS