我目前正在尝试为云代工厂编写服务代理。我不确定如何正确地解决我的问题所以我将在问题中添加更多细节。让我们假设我的经纪人将在http://example.org
上运行。通常这意味着它必须在端点GET http://example.org/v2/catalog
上做出响应。在我的情况下,无法在根级别响应/v2/catalog
,但必须处于较低级别,更具体地说是http://example.org/v1/internal/cf/v2/catalog
。没有可能改变这一点。
在使用CLI时,我尝试使用
添加代理 $ cf create-service-broker test-broker test test http://localhost:29090/v1/internal/cf
CLI返回我http://localhost:29090/v1/internal/cf is not a valid URL
,我在服务器上没有任何访问权限。
如果我将网址更改为少于2个路径段的任何内容(例如http://localhost:29090
或http://localhost:29090/v1
),那么"工作"我在服务器上获得访问权限,CLI打印出来自服务器的响应(当然说它无效,因为它返回403)。云代工厂的路径深度是否存在某种限制?如果是这样有办法摆脱它?谢谢你的帮助或提示和最好的问候,Yanick
答案 0 :(得分:0)
我们是Cloudfoundry API团队的一员,我们在Stack Overflow上注意到了这个问题。我们尝试手动重现此错误,但从我们的最终看来,即使路径的深度大于2个路径段,cli也允许我们在服务器上访问。它给了我们404或502.我们看到:
$ cf create-service-broker test-broker test test http:///v1/internal/cf
Creating service broker test-broker as admin...
FAILED
Server error, status code: 502, error code: 10001, message: The service broker could not be reached: http://127.0.0.1:29090/v1/internal/cf/v2/catalog
进一步研究代码,我们在API和CLI中都没有看到任何关于路径限制的限制。
您是否可以使用CF_TRACE = true再次尝试这些请求并在此处发布回复文本? (即CF_TRACE=true cf create-service-broker test-broker test test http://localhost:29090/v1/internal/cf
)
另外,您使用的是什么版本的CF?
最佳,
杰夫& Frank,CF CAPI团队