【发布时间】:2022-01-13 19:58:26
【问题描述】:
在我的项目中限制对后端容器的访问时遇到问题。 我的目标是为客户端打开前端 ecs 容器,并使用 nginx 反向代理将任何带有“/api”路由的请求重定向到后端容器。但是,除了前面描述的后端之外,我不想允许任何访问。 我试图在私有子网中找到后端容器并将其连接到前端,但它不起作用。
BACKEND_ORIGIN var 作为键值对存储在任务定义中,稍后我将使用单独的服务来存储它。正在尝试在其中存储后端 IP。
我在 .conf nginx 文件的下面添加了一部分。
server {
listen 8080;
server_name localhost;
set_by_lua_block $backend_origin {
return os.getenv('BACKEND_ORIGIN')
}
location /api {
proxy_pass $backend_origin;
proxy_redirect off;
add_header Access-Control-Allow-Origin *;
proxy_http_version 1.1;
proxy_buffering off;
}
location / {
root /usr/share/openresty/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
【问题讨论】:
-
两个容器是在同一个ECS任务还是不同的任务?这些都在 Fargate 上运行?
-
我对后端和前端有单独的任务。 1 个集群,2 个任务定义,2 个服务。是的,这些都在 fargate 上运行。
标签: amazon-web-services nginx reverse-proxy amazon-ecs aws-fargate