【发布时间】:2016-10-14 08:41:07
【问题描述】:
远程服务器:Ubuntu 14.04 Headless
我已经成功设置了Couchdb v2.0.0,并且可以通过www.[mydomain].com:5984/_utils远程访问它
我想创建一个子域来访问这个 URL,比如 dbadmin.[mydomain].com
首先,我创建了一个 db.[mydomain].com 的子域(这里是 apache2 vhost 配置:)
<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记录:
dbadmin A [PublicIP]
后跟另一个 SRV 记录:
_dbadmin._tcp.dbadmin SRV 0 5 5984 dbadmin.[mydomain].com
我通过访问http://dbadmin.[mydomain].com来测试它
结果:{"error":"unauthorized","reason":"You are not a server admin."}
我花了太多时间试图找出正确的方法。我尝试了各种配置、设置、DNS 记录、更改沙发的 local.ini、代理设置……你明白了。
请说明如何简单地将子域重定向到服务器的公共 IP + 端口 + 路径或服务器的根域 + 端口 + 路径?
【问题讨论】:
标签: apache redirect proxy dns couchdb