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

ajs*_*sie 7 couchdb

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

// Configuration

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

// Rewrites

[{
  "from": "",
  "to": "static/browser/index.html"
}, {
  "from": "*",
  "to": "*"
}]
Run Code Online (Sandbox Code Playgroud)

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

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

我怎样才能解决这个问题?

Jas*_*ith 10

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

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

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

  • 使用服务器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.