在CouchDB中更改了vhost并重写,无法访问内部API

时间:2011-07-10 11:24:37

标签: couchdb

我想将自定义域映射到设计文档_rewrite。

// Configuration

vhosts     www.myapp.com    /myapp/_design/user/_rewrite

// Rewrites

[{
  "from": "",
  "to": "static/browser/index.html"
}, {
  "from": "*",
  "to": "*"
}]

第一条路线工作正常。我可以通过www.myapp.com访问index.html。但是,现在我无法访问www.myapp.com/_utils。它说在浏览器控制台中找不到_all_dbs。所有其他API也停止工作。

我想这是因为该路径现在转换为/ myapp / _design / user / _utils。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:10)

_utils和其他“特殊”路径不能很好地配合vhosts。最后我检查了(我认为版本1.0.2),_utils将显示Futon UI,但是它的AJAX调用_all_dbs而其他人将失败,这是一团糟。

我建议您的应用与内部管理之间严格分开。使用vhost作为应用程序,但在访问Futon或其他工具时始终避免使用vhosts

有一些技巧可以避免你的虚拟主机。

  • 使用服务器IP地址而不是域名:http://1.2.3.4:5984
  • 如果可能,请使用其他端口:http://www.myapp.com:5984https://www.myapp.com:6984
  • 添加指向同一沙发的备用DNS条目并使用该条目:http://futon.myapp.com
  • 在域的末尾添加一个点。 http://www.myapp.com./ - 这非常偷偷摸摸(或聪明)。这是一个有效的DNS名称,但CouchDB与www.myapp.com的处理方式不同,因此您不会触发vhost。

答案 1 :(得分:0)

您是否检查了couchdb ini文件(/etc/couchdb/local.ini),即绑定参数。