apiaxle没有按预期工作

时间:2015-06-19 11:46:04

标签: curl apiaxle

我刚刚结账apiaxle。我可以在Documentation的文档中正确安装它。但是,现在似乎存在问题。安装后我运行$ apiaxle-proxy -f 1 -p 3000 -q如文档中所述,我收到错误,因为此XML文件似乎没有任何与之关联的样式信息。文档树如下所示。

<error>
<type>ApiUnknown</type>
<message>No api specified (via subdomain)</message>
</error>

现在我有一个在localhost:9000上运行的应用程序。我希望apiaxle能够坐在它和任何其他链接上,例如localhost:9000 / test和localhost:9000 / test / param。要开始这样做,我按照文档的建议在我的/etc/hosts文件中添加了以下突出显示的代码。该文件现在看起来像:

127.0.0.1       localhost
127.0.1.1       GBH-201505-0052
#apiaxle This line and below added by me
127.0.0.1       myapp.api.localhost

在此之后,当我运行$ apiaxle-proxy -f 1 -p 3000 -q并点击http://myapp.api.localhost:3000/时,我会看到与上面相同的错误。根本没有变化。该文档说错误是相同的,但有不同的消息。无论如何,我现在继续通过命令创建和添加api:

$ apiaxle
axle> api "myapp" create endPoint="localhost:9000"
axle> key "1234" create
axle> api myapp linkkey "1234"

现在,如果我做$ curl 'http://myapp.api.localhost:3000/?api_key=1234'curl 'http://myapp.api.localhost:3000/test/param?api_key=1234',我会得到预期的完美回复。但是,当我在浏览器中复制粘贴相同的URL时,我得到“网页不可用错误”。此外,如果我试图获取统计数据甚至查看apis我得到 ApiUnKnown 错误。例如,我尝试了以下3个命令,两者都有 ApiUnKnown 错误。命令是:

curl 'http://localhost:3000/v1/api'
curl 'http://localhost:3000/v1/api'
curl 'http://localhost:3000/v1/api/myapp/stats?granularity=hour&format_timstamp=ISO'

以上所有内容的详细错误:{"meta":{"version":1,"status_code":404},"results":{"error":{"type":"ApiUnknown","message":"No api specified (via subdomain)"}}}

如果这并不奇怪,这里还有一件有趣的事情。如果我去apiaxle控制台看到api和密钥,那么myapp就在那里并且正在列出。

$apiaxle
axle> apis
[ 'myapp']
axle> keys
[ '1234']

发生了什么事?有人可以帮我理解如何做到这一点吗?在这方面,文件非常稀少。

1 个答案:

答案 0 :(得分:0)

您需要配置nginx.conf以接受请求并将代理回送到apiaxle。 apiaxle docs开始在底部谈论这个问题。

此流程主要是让nginx接收您的请求(例如/nice_uri/123并将信息发送回apiaxle,apiaxle会将请求发送到应用服务器上的endPoint /test,得到了回应。从我可以告诉你的是刚刚开始endPoint。你希望endPoint被隐藏起来,基本上。

祝你好运,因为你需要它来解决这一切。当然,ymmv,但如果你可以克服缺乏支持,它会起作用。