2011-07-10 2 views
7

カスタムドメインをデザイン文書_rewriteにマップしたいとしました。CouchDBでvhostを書き換えて書き直し、内部APIにアクセスできない

// 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に変換されたためです。

どうすればこの問題を解決できますか?

答えて

10

_utilsと他の「特別な」パスは仮想ホストとうまく連携しません。最後に確認したところ(バージョン1.0.2と思う)、_utilsはFuton UIを表示しますが、AJAXは_all_dbsにコールし、他は失敗してしまいます。

私はあなたのアプリとあなたの内部管理を厳密に区別することをお勧めします。アプリケーションには仮想ホストを使用しますが、は、ふとんや他のツールにアクセスするときに仮想ホストを常に避けます。

あなたの仮想ホストを避けるためのいくつかの秘訣があります。

  • ドメイン名の代わりにサーバーのIPアドレスを使用します。可能な場合はhttp://1.2.3.4:5984
  • は、別のポートを使用します。http://www.myapp.com:5984またはhttps://www.myapp.com:6984
  • は同じソファに代替DNSエントリのポインティングを追加し、それを使用:http://futon.myapp.com
  • ドメインの最後にドットを追加します。 http://www.myapp.com./ —これは非常に卑劣です(または賢い)。これは有効なDNS名ですが、CouchDBはwww.myapp.comとは違った扱いをするため、仮想ホストは起動しません。
0

バインドパラメータであるcouchdb iniファイル(/etc/couchdb/local.ini)を確認しましたか。

関連する問題