如何在负载均衡器后面设置Angular和OpenId

时间:2017-11-08 01:48:57

标签: javascript angular cors load-balancing openid

我尝试使用OpenId在我的Angular / .net Core 2.0应用中使用跨域身份验证。

为此目的,我使用angular-auth-oidc-client软件包。身份验证API位于负载均衡器后面,我目前在浏览器中收到错误。

  

无法加载https://xyz//.well-known/openid-configuration:否'访问控制 - 允许 - 来源'标头出现在请求的资源上。起源' http://localhost:5002'因此不允许访问。响应的HTTP状态代码为404.

如何在Angular 4中添加等效的ForwardedHeadersOptions(。net core)?

是否有Angular的其他包提供了设置ForwardedHeaders的选项?

1 个答案:

答案 0 :(得分:0)

我们在Angular 4上托管了一个AWS S3 bucket前端,后面有一个AWS elastic load balancer我们有多个EC2 servers,每个pm2后面都有一个nginx服务{ {3}}代理。

来自前端的REST请求到达服务器而没有CORS问题:

  • 没有AWS弹性负载均衡器,直接到EC2服务器

REST请求因前端的CORS错误而中断而未到达服务器:

  • 使用AWS弹性负载均衡器,而不是直接使用EC2服务器

虽然我们还没有成功,但到目前为止我们已经尝试了these are the stuff (as per @agentspacecake)

  1. 允许使用S3 bucket中的CORS,例如config - 已完成
  2. 使用CORS node module - 完成
  3. 在后端允许使用CORS
  4. nginx proxy using the CORS headers - 已完成
  5. 中允许使用CORS
  6. 在负载均衡器的正面允许CORS - 未完成
  7. 根据我迄今为止的研究:

      

    请求仅使用GET或POST HTTP方法。如果使用POST方法,则Content-Type只能是以下之一:application / x-www-form-urlencoded,multipart / form-data或text / plain。

    希望这在某种程度上有所帮助。