Linux DotNetOpenAuth-诊断“;找不到OpenID端点";单声道
我正在运行DotNetOpenAuth的单分支构建,在尝试使用google进行身份验证时发现Linux DotNetOpenAuth-诊断“;找不到OpenID端点";单声道,linux,mono,dotnetopenauth,Linux,Mono,Dotnetopenauth,我正在运行DotNetOpenAuth的单分支构建,在尝试使用google进行身份验证时发现未找到OpenID端点错误,但不确定如何诊断这些错误 更多信息: 在Windows works下运行相同的单分支生成 使用本地openid提供程序进行身份验证工作正常(Windows和Linux) 使用myopenid进行身份验证很有效(可能是因为它不像谷歌那样使用https?) 相同的Web.Config,二进制文件,Windows和Linux下的所有内容 已禁用DNOA openid缓存发现设置 已
未找到OpenID端点
错误,但不确定如何诊断这些错误
更多信息:
- 在Windows works下运行相同的单分支生成
- 使用本地openid提供程序进行身份验证工作正常(Windows和Linux)
- 使用myopenid进行身份验证很有效(可能是因为它不像谷歌那样使用https?)
- 相同的Web.Config,二进制文件,Windows和Linux下的所有内容
- 已禁用DNOA openid缓存发现设置
- 已从Linux机器上检查SSL是否通过防火墙工作。(即:
works)wget
- 已检查apache错误日志,未报告任何错误
yes yes|sudo mozroots --import --machine
它说它导入了证书,但一个简单的命令行程序请求仍然失败。这是一个黑客回答,但至少我让它工作了 似乎机器证书存储在mono 2.6/Ubuntu10.10服务器中不起作用。不知道为什么 修复方法是将mozroots根证书导入www数据用户证书存储。因为我不知道如何使用mozroots工具来实现这一点,所以我手动完成了如下操作:
sudo mkdir /var/www/.config/.mono/certs/Trust
sudo mkdir /var/www/.config/.mono/certs/CA
sudo cp /usr/share/.mono/certs/Trust /var/www/.config/.mono/certs/Trust
现在它可以工作了…您需要在机器存储中的“certs”目录旁边创建一个空的“keypairs”目录:
sudo mkdir /usr/share/.mono/keypairs
mozroots(和引擎盖下的certmgr)不创建它,但如果没有它,mono运行时将拒绝建立连接(并且它无法创建它自己,因为机器存储只能由root写入;我不知道为什么它需要创建它,然后将其保留为空)。BTW 1。Brad的解决方案只有在/var/www/.config/.mono/可以在两天内由www DATA写入时才有效。谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢!!!