将请求转发到 ALB 的 NGINX 配置

Posted

技术标签:

【中文标题】将请求转发到 ALB 的 NGINX 配置【英文标题】:NGINX configuration to forward request on to ALB 【发布时间】:2021-12-25 15:47:50 【问题描述】:

必须在 AWS 上创建 3 层架构。 我的简单环境是这样工作的: 用户 ----> 永恒应用负载均衡器 ---> nginx Web 服务器 ----> 内部应用负载均衡器 ----> Apache 应用服务器。 当我点击外部负载平衡器 dns 时,它应该连接到 apache Web 服务器。 那么我应该在 NGINX 上进行什么配置以及在哪些文件中进行配置,以便它将我的请求从外部负载均衡器转发到内部负载均衡器,以便我能够连接到我的 apache 服务器。

请帮帮我。

【问题讨论】:

【参考方案1】:

如果外部 LB 指向 NGINX,那么 NGINX 上的 proxy_pass 指令值应该是内部 LB,如果我理解正确,它会路由到 Apache 服务器。

您可以在 /etc/nginx 下的 nginx.conf 中配置一个服务器块并在其中配置一个位置块,或者为指向 sites-enabled 文件夹下的外部 ELB 的站点创建一个单独的虚拟主机配置文件。

例如:

server 

listen 80;
listen 443 ssl;

server_name some.domain.com; #the site that points to the External ELB
ssl_certificate /etc/ssl/certs/cert.crt;
ssl_certificate_key /etc/ssl/certs/domain.key;

location / 
 proxy_pass http://internal-kubinator-dev-54521756.us-ea1.elb.amazozonaws.com/; #Pass the request to the internal ELB                                                                                              

【讨论】:

以上是关于将请求转发到 ALB 的 NGINX 配置的主要内容,如果未能解决你的问题,请参考以下文章

如何使 AWS ALB 将请求源发送到 lambda

Nginx转发请求过程解析

Nginx转发TCP请求

nginx请求转发配置

使用Nginx+Tomcat将所有请求都转发到一个页面

Nginx配置请求转发location及rewrite规则