将 http 请求重定向到 Docker 容器中的特定 IP 和端口

将 http 请求重定向到 Docker 容器中的特定 IP 和端口

我正在使用一个 Docker 容器,其镜像基于python:2.7-alpine。我希望将所有请求ec2.us-west-2.amazonaws.com重定向到127.0.0.1:3000
我该如何实现?
我在容器中本地运行虚拟 AWS API 端点,并且我希望所有对 AWS EC2 的请求都转到端口 3000 上的虚拟端点。不幸的是,我无法覆盖 API 端点,这就是原因,因为我正在寻找一个可能包含 IP 表和主机文件中的一些黑客的解决方案。

答案1

要让 nginx 充当 Docker 容器的反向代理,你需要在其配置中添加以下内容

server {
  server_name ec2.us-west-2.amazonaws.com;

  location / {
    proxy_pass_header Authorization;
    proxy_pass http://127.0.0.1:3000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_http_version 1.1;
    proxy_set_header Connection "";
    proxy_buffering off;
    client_max_body_size 0;
    proxy_read_timeout 36000s;
    proxy_redirect off;
  }
}

如果你想知道自己在做什么,请查看https://www.techandme.se/set-up-nginx-reverse-proxy/

相关内容