我花了几天时间尝试解决这个问题,但无济于事。我尝试使用 Nginx 将不同的 URL 发送到不同的 docker 容器。
我的配置文件:
worker_processes 1;
events { worker_connections 1024; }
http {
server {
listen 8000;
server_name myserver.com www.myserver.com ;
location /api/wtrsbnd_10m {
proxy_set_header Host localhost;
rewrite ^/api/?(.*) /$1 break;
proxy_pass http://backend:8000;
}
location /api/fzs_cb10m {
proxy_set_header Host localhost;
rewrite ^/api/?(.*) /$1 break;
proxy_pass http://fzs_cb10m:8000;
}
location / {
proxy_pass http://frontend:3000/;
}
}
}
问题是当我发送 http://myserver.com/api/fzs_cb10m/ 它总是重定向到正确的机器http://fzs_cb10m:8000;
但是当我发送 http://myserver.com/api/wtrsbnd_10m/它会重定向到http://fzs_cb10m:80001/2 的时间和http://后端:8000另一半时间。我需要它总是重定向到http://后端:8000