从ECS实例调用服务发现端点[nginx,angular,express]
我有一个angular应用程序,它使用nginx作为反向代理,通过/api位置连接到后端服务器。我在Docker容器中使用angular应用程序作为服务在ECS实例上运行,它将容器中的主机端口80绑定到8080 我已经启动了后端作为一个容器,通过ECS将3000:3000作为一个单独的服务公开。这一次,我使用awsvpc来使用A记录启用此端点的服务发现。我正在重写传入url以远程发送前缀:/api 现在,如果我尝试从EC2实例中ping后端服务(使用curl),我就能够收到响应。但是,我的angular应用程序无法连接到后端服务。我认为这是nginx.conf文件(如下)中的一个配置问题:从ECS实例调用服务发现端点[nginx,angular,express],angular,express,nginx,devops,amazon-ecs,Angular,Express,Nginx,Devops,Amazon Ecs,我有一个angular应用程序,它使用nginx作为反向代理,通过/api位置连接到后端服务器。我在Docker容器中使用angular应用程序作为服务在ECS实例上运行,它将容器中的主机端口80绑定到8080 我已经启动了后端作为一个容器,通过ECS将3000:3000作为一个单独的服务公开。这一次,我使用awsvpc来使用A记录启用此端点的服务发现。我正在重写传入url以远程发送前缀:/api 现在,如果我尝试从EC2实例中ping后端服务(使用curl),我就能够收到响应。但是,我的ang
有人能告诉我如何调试这个程序吗?我已经被困在这个问题上好几天了。。。我尝试使用网桥模式并硬编码容器的ip地址(172.17.0.2:3000),它工作得非常好。但是,我想使用服务发现路线。dig backend.local为您提供了什么?它正确解析IP吗?如果nginx conf中的硬连接ip提供了正确的行为,这听起来更像是DNS问题。从ECS实例ping backend.local提供了正确的行为。但是,我的前端angular应用程序无法连接到backend.local。你能给我一个我在ECS上启动的跑步应用示例,并对其进行进一步分类吗?
worker_processes 2;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 8080;
server_name localhost;
root html/composite-app;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
try_files $uri $uri/ /index.html;
}
location /api {
rewrite /api/(.*) /$1 break;
proxy_pass http://backend.local:3000;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
include servers/*;
}