想用nginx作为docker swarm集群的路由容器以取代docker-flow-proxy,配置nginx时每个主机名配置一个upsream,由于有很多个主机名,如果每个主机名都配置一个proxy_pass会很麻烦,有什么办法可以实现根据请求的主机名自动对应的upstream?
用 nginx 内置变量 $http_host 就可以了
server {
    listen 80;
    location / {
        proxy_pass http://$http_host;
    }
}
            补充:还要加上 resolver ,对于 docker swarm 中的容器,resolver 的地址是 127.0.0.11
server {
  listen 80;
  location / {
     resolver 127.0.0.11;     
     proxy_pass http://$host;
  }
}