我的集群上有两个服务:myapp-service 和一个 nginx-service。我正在使用服务发现来连接两者,一切正常。
问题发生在我部署新版本的 myapp-service 并且它带有新的私有(和公共)IP 地址时。部署后,我看到 Route 53 上的 ip 已正确更新,但是当我尝试通过 nginx 访问 my-app 时,它返回一个错误的网关。当我查看 Cloudwatch 上的 nginx 日志时,我可以看到 nginx 正在尝试连接到 myapp-service 的旧私有 IP 地址。
这是我的 nginx 配置(default.conf),而 market-service.local 是我在 Route 53 上的注册表。
upstream channels-backend {
server marketplace-service.local:8000;
}
server {
listen 80;
location / {
proxy_pass http://channels-backend;
}
}
有人能帮我发现我在这里遗漏了什么吗??
谢谢
答案 0 :(得分:0)
我不知道 upstream
部分。
upstream channels-backend {
server marketplace-service.local:8000;
}
但我确定 server
部分。对于 Fargate
,使用 localhost
,因此添加 server_name localhost;
。然后将下面显示的 4 行代码添加到 location
块。
server {
listen 80;
server_name localhost;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://channels-backend;
}
}