这是用例:我有一台服务器,其中有 Docker 容器,这些容器将根据需要创建和销毁。这个想法是能够配置反向代理并将 URL 与 Docker 容器的端口关联起来。
Browser <===> Reverse Proxy <===> Docker server
http://proxy.cxx/id1 http://server:9000
http://proxy.cxx/id2 http://server:9015
http://proxy.cxx/id3 http://server:9730
当然,这些关联并不是静态的,会发生变化。我会在 memcache 数据库中更新它们。
简而言之,是否可以动态配置反向代理并添加/删除规则?我对 HAProxy 有一些经验,但我不知道这是否可行。如果您提出不同的解决方案,我将不胜感激。
答案1
我认为你要找的是特拉菲克。
Træfɪk 可以监听您的服务注册表/编排器 API,并了解每次添加、删除、终止或升级微服务的时间,并可以自动生成其配置。将立即创建到您服务的路由。
您可以设置规则将流量从域/路径转发到 Docker 容器。