如何在 DC/OS 中按路径路由?
How do I route by path in DC/OS?
假设我有一个域 fooapi.com
和两个版本的 API:v1 和 v2。我如何在 marathon.json
文件中配置 HAProxy,以便两个 API 版本可以位于同一域后面但路径不同?例如。 fooapi.com/v1/
和 fooapi.com/v2/
.
以下配置不起作用(最新的 DCOS):
"labels": {
"HAPROXY_0_VHOST": "fooapi.com",
"HAPROXY_DEPLOYMENT_GROUP": "api-grp",
"HAPROXY_GROUP": "external",
"HAPROXY_0_PATH": "/v1"
}
阅读完 Marathon-lb 文档后,我通过添加 HAPROXY_0_HTTP_BACKEND_PROXYPASS_PATH
配置参数解决了这个问题:
"labels": {
"HAPROXY_0_VHOST": "fooapi.com",
"HAPROXY_DEPLOYMENT_GROUP": "api-grp",
"HAPROXY_GROUP": "external",
"HAPROXY_0_HTTP_BACKEND_PROXYPASS_PATH": "/v1",
"HAPROXY_0_PATH": "/v1"
}
假设我有一个域 fooapi.com
和两个版本的 API:v1 和 v2。我如何在 marathon.json
文件中配置 HAProxy,以便两个 API 版本可以位于同一域后面但路径不同?例如。 fooapi.com/v1/
和 fooapi.com/v2/
.
以下配置不起作用(最新的 DCOS):
"labels": {
"HAPROXY_0_VHOST": "fooapi.com",
"HAPROXY_DEPLOYMENT_GROUP": "api-grp",
"HAPROXY_GROUP": "external",
"HAPROXY_0_PATH": "/v1"
}
阅读完 Marathon-lb 文档后,我通过添加 HAPROXY_0_HTTP_BACKEND_PROXYPASS_PATH
配置参数解决了这个问题:
"labels": {
"HAPROXY_0_VHOST": "fooapi.com",
"HAPROXY_DEPLOYMENT_GROUP": "api-grp",
"HAPROXY_GROUP": "external",
"HAPROXY_0_HTTP_BACKEND_PROXYPASS_PATH": "/v1",
"HAPROXY_0_PATH": "/v1"
}