我刚刚结账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']
发生了什么事?有人可以帮我理解如何做到这一点吗?在这方面,文件非常稀少。
答案 0 :(得分:0)
您需要配置nginx.conf以接受请求并将代理回送到apiaxle。 apiaxle docs开始在底部谈论这个问题。
此流程主要是让nginx接收您的请求(例如/nice_uri/123
并将信息发送回apiaxle,apiaxle会将请求发送到应用服务器上的endPoint
/test
,得到了回应。从我可以告诉你的是刚刚开始endPoint
。你希望endPoint被隐藏起来,基本上。