2016-10-14 4 views
1

リモートサーバからのアクセスのCouchDB Fauxton UI:Ubuntuの14.04ヘッドレスサブドメイン

私が正常にセットアップのCouchDB V2.0.0をした、とWWW経由してリモートでアクセスすることができます[MYDOMAIN] .COM:5984/_utils

私は、このURLにアクセスするためのサブドメインを作成するためにDBADMINのような何かをしたい。[MYDOMAIN] .COM

まず、私は、DBのサブドメインを作成した。[MYDOMAIN] .COM(ここでapache2のバーチャルホストの設定だ:)

<VirtualHost *:80> 
    ServerName db.[mydomain].com 

    ProxyRequests Off 
    ProxyPreserveHost On 
    ProxyVia Off 

    <Proxy *> 
     Require all granted 
    </Proxy> 

    ProxyPass/http://db.[mydomain].com:5984/ 
    ProxyPassReverse/http://db.[mydomain].com:5984/ 
</VirtualHost> 

注:私は実際のドメインで[MYDOMAIN]置き換えられている;以下のようにP

私はその後、私のDNSレジストラでAレコードを作成した:

db  A  [PublicIP] 

、その後、SRVレコード:

_db._tcp.db SRV  0  5  5984 db.[mydomain].com 

と私は私のラップトップ

結果にhttp://db.[mydomain].com/に行くことによってそれをテスト:{"couchdb":"Welcome","version":"2.0.0","vendor":{"name":"The Apache Software Foundation"}}

成功したと思います。今、dbadminサブドメインを作成します。 Apache2のバーチャルホストの設定:

<VirtualHost *:80> 
    ServerName dbadmin.[mydomain].com 

    ProxyRequests Off 
    ProxyPreserveHost On 
    ProxyVia Off 

    <Proxy *> 
     Require all granted 
    </Proxy> 

    ProxyPass/http://db.[mydomain].com:5984/_utils 
    ProxyPassReverse/http://db.[mydomain].com:5984/_utils 
</VirtualHost> 

その後、別のAレコード:別のSRVレコードが続く

dbadmin  A  [PublicIP] 

_dbadmin._tcp.dbadmin SRV  0  5  5984 dbadmin.[mydomain].com 

は私がhttp://dbadmin.[mydomain].com

の検索結果を訪問し、それをテスト:{"error":"unauthorized","reason":"You are not a server admin."}

私は、これを行う正しい方法を捨てようと、何時間も過ごしました。私はあらゆる種類の設定、設定、DNSレコード、couchのlocal.ini、プロキシ設定を変更しようとしました。あなたはそのアイデアを得ています。

サブドメインをサーバーのパブリックIP +ポート+パスまたはサーバーのルートドメイン+ポート+パスのいずれかにリダイレクトする方法を教えてください。

答えて

1

私はバーチャルホストの設定でのmod_rewriteでこれを解決:

<VirtualHost *:80> 
ServerName dbadmin.[mydomain].com 

ProxyRequests Off 
ProxyPreserveHost On 
ProxyVia Off 

<Proxy *> 
    Require all granted 
</Proxy> 

ProxyPass/http://db.[mydomain].com:5984/ 
ProxyPassReverse/http://db.[mydomain].com:5984/ 

RewriteEngine on 
RewriteCond %{REQUEST_URI} !^/_utils 
RewriteRule ^/$ /_utils/$1 [R,L] 

を私もどちらか、SRVレコードの必要はありませんでしたことが表示されます。 Groovy!

この条件とルールの正規表現が実際に行っていることは誰でも簡単に私に説明できますか?基本的なレベルでは、クエリで/ _utilsが検索され、そこになければ、それがそこに置かれます...

しかし、このルールでは、プロトコル識別子 'http://'むしろ迷惑なURLです...誰もがなぜ、どのように起こるのを防ぐために説明することができますか?

関連する問題