首页 > 解决方案 > 设置 cloudflare 虚拟主机后 Cloudant 基本身份验证不起作用

问题描述

我使用 Cloudant 作为我的数据库,并且我已经正确地将它设置为 Cloudflare 作为虚拟主机,所以我的数据库没有像这样随机生成子域:

f8b3f1f4-b695-4806-someting-fre-bluemix.cloudant.com

我把它放在我的自定义域下,如下所示:

db.example.com

我已经正确设置了 SSL 证书,一切都非常好。

现在的问题是,在自定义域上,我无法使用随机生成的域上使用的用户名和密码对我的数据库进行身份验证(使用基本身份验证)。

在自定义域(db.example.com)上,我收到此错误:

{
     "error": "unauthorized",
     "reason": "Name or password is incorrect."
}

而在原始域 (f8b3f1f4-b695-4806-someting-fre-bluemix.cloudant.com) 上,基本身份验证工作得很好。

标签: virtualhostbasic-authenticationcloudflarecloudant

解决方案


Cloudant auth 需要某种方法来确定您的用户名,通常是通过使用子域来完成的,该子域也是您的帐户名和登录名。通常,这是由知道子域的负载均衡器添加的,但是在使用虚拟主机时您可能必须手动添加它(我从未尝试过)。尝试在您的请求中添加标题“X-Cloudant-User: f8b3f1f4-b695-4806-someting-fre-bluemix”(或任何您的帐户),看看是否有任何改变。


推荐阅读