【问题标题】:nginx web app and api to work with aws load balancer and aws ssl certificatenginx web 应用程序和 api 与 aws 负载均衡器和 aws ssl 证书一起使用
【发布时间】:2019-10-24 01:33:54
【问题描述】:

我们正在使用在 nginx 上运行的 web app(angular) 和 api(node.js)。 我需要使用 AWS 负载均衡器、域名(路由 53)、SSL 证书(ACM)。

我已从 ACM 获得 SSL。 我已经创建了弹性负载均衡器并附加了 ssl 证书。 我已将 Web 服务器分配给 AWS 负载均衡器。 我在路由 53 中创建了域名并指向负载均衡器。 我已经更新了nginx配置文件,并在服务器名中添加了域名

我可以从https://example.com 访问网络服务器,但网络服务器没有连接到 api 服务器。当我尝试登录网络应用程序时,我收到错误“无法连接”
我相信api服务器也应该附上ssl证书。
目前,我在负载均衡器中没有 API 服务器。

如何使用 AWS 负载均衡器配置带有 ssl 证书的 Web 应用程序服务器和 api 服务器?

如何将 ssl 证书添加到 api 服务器?我需要创建一个内部负载均衡器并添加 ssl 证书吗?如果是,我如何将内部负载平衡器与 Web 服务器负载平衡器一起使用?

相同的架构是什么?

在没有负载均衡器的情况下,我能够使用 godaddy ssl 和 web 和 api 域连接到 web 应用程序和 api。

但是,我无法使用 aws 负载均衡器和 aws 证书管理器

Nginx config

Web server

server 
{
 listen 80;
 server_name example.com;
 return 301 https://example.com$request_uri;
 root /Website/dist/;
 index index.html;
}

API server

server 
{
 listen 80 ;
 server_name ipaddress_api;
location / 
  proxy_pass http://localhost:7000;
}

【问题讨论】:

  • 现在我为网络服务器应用程序创建了 1 个 AWS 负载均衡器,并为 API 服务器创建了另一个 AWS 负载均衡器。我还将 acm 证书附加到 Web 服务器负载平衡器,并将其他 acm 证书附加到 api 负载平衡器。现在,当我在负载均衡器中有 2 个或更多 Web 服务器时,它会给出错误“加载资源失败:服务器响应状态为 404 ()”。 “未捕获的 ReferenceError:webpackJsonp 未在 main.bundle.js:1 中定义”。 “DevTools 无法解析 SourceMap:”。但如果我在 AWS 负载均衡器中只有 1 个网络服务器,那么一切似乎都可以正常工作。

标签: node.js angularjs nginx aws-load-balancer aws-certificate-manager


【解决方案1】:

一种解决方案是使用负载均衡器访问后端 API。 您可以通过在所有后端请求前附加“/api”来区分前端和后端请求。您必须在 nginx conf 文件中使用单独的“位置”块。

【讨论】:

  • 感谢您的意见。问题是我只为 Web 服务器应用程序创建了一个负载均衡器。现在我为 webserver 应用程序创建了 1 个负载均衡器,为 api 服务器创建了另一个。我还将 acm 证书附加到 Web 服务器负载平衡器,并将其他 acm 证书附加到 api 负载平衡器。现在,当我在负载均衡器中有 2 个或更多 Web 服务器时,它会给出错误“加载资源失败:服务器响应状态为 404 ()”。 “DevTools 无法解析 SourceMap:”
猜你喜欢
  • 1970-01-01
  • 2013-11-30
  • 1970-01-01
  • 2017-09-27
  • 2018-02-21
  • 2019-04-10
  • 2022-06-23
  • 2016-04-05
  • 1970-01-01
相关资源
最近更新 更多