【问题标题】:How to setup Angular and OpenId behind load balancer如何在负载均衡器后面设置 Angular 和 OpenId
【发布时间】:2018-04-20 14:00:05
【问题描述】:

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

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

无法加载https://xyz//.well-known/openid-configuration:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'http://localhost:5002' 不允许访问。响应的 HTTP 状态代码为 404。

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

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

【问题讨论】:

    标签: javascript angular cors load-balancing openid


    【解决方案1】:

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

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

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

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

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

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

    1. S3 bucket 中允许使用 CORS,例如 config - 完成
    2. 在后端使用 CORS node module 允许 CORS - 完成
    3. nginx proxy using the CORS headers 中允许使用 CORS - 完成
    4. 在负载平衡器的前端允许 CORS - 未完成

    根据我目前的研究:

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

    希望这在一定程度上有所帮助。

    【讨论】:

      猜你喜欢
      • 2020-02-13
      • 2010-09-20
      • 2023-01-25
      • 1970-01-01
      • 2016-04-17
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 2020-12-28
      相关资源
      最近更新 更多