MySQL Connector/NET SSL关闭服务器

3
当我尝试使用PFX证书通过MySQL Connector/NET连接到我的服务器时,我在建立连接时遇到问题。我得到了连接超时的错误。而且服务器可能会崩溃(我不确定,因为我不管理服务器)。 在Windows XP上它可以正常工作,但在Windows 7上无法工作。 问题出在哪里?是在Windows 7上还是在服务器上(MySQL 5.0)? 有时候我会得到“调用接口SSPI失败”的错误,但并不总是。有时只有连接超时的错误。

你使用的是哪个MySQL连接器?你是从C#应用程序中调用它吗? - John M
Simon,你可能想在serverfault.com上尝试询问这个问题。祝你好运。 - JYelton
2
如果您不管理服务器,而服务器因为“简单”的TCP连接而崩溃,那么这个问题是服务器的问题,而不是您的问题。此外,请不要跨帖问题,但您可以投票进行迁移(如果我没记错的话)。 - Bobby
1
我经常使用 Connector,我已经了解到使用自制证书会引起麻烦。服务器上安装了 SSL 证书吗? - Art W
1
修改连接字符串是否有帮助?https://dev59.com/uVvUa4cB1Zd3GeqPx-Z6#7695901 - Fredrik Johansson
显示剩余4条评论
1个回答

1

XP和Windows 7在证书上使用不同的权限结构。如果您正在使用来自证书存储的PFX,则Win7在尝试建立连接时会要求提升权限。如果您无法授予权限,例如您的应用程序是无头的,则连接将超时。

打开证书管理器(请点击此处),查找您用于认证MySQL的证书。您可能需要一个可用的公钥,而且您的公钥可能具有错误的权限。请参阅这里以获取更改权限的详细信息。

还有可能您将证书存储在错误的存储区中,但使用证书存储MMC快照也可以解决这个问题。

如果您正在使用来自文件的PFX并且导入存储是一种选择,请尝试该方法。否则,在连接之前导入证书后,您很可能需要设置证书的权限。

如果有的话,服务器日志还可以告诉你为什么连接失败。以下是一些选项:

  • 如果服务器根本没有看到证书,很可能是客户端在访问证书时出现了权限问题。
  • 如果服务器看到了证书但无法验证它,这通常是公钥问题。PFX格式是一个持有者元格式,并非所有PFX文件都包含正确的组件。这也可能提示@Dremation所说的,即您的证书可能未安装在服务器上。
  • 还有一种可能性是您的时钟不同步。如果您可以检查服务器时钟,请确保它正确并经常与某个标准时钟同步。然后确保您的客户端也是如此。规则是最大偏差为5分钟,因此客户端和服务器相反方向的2.5分钟会导致身份验证失败。
  • 在客户端的某个位置应该有一个调整重试尝试次数的选项。如果这是证书错误并且您可以使其在第一次尝试时失败,那么至少您将立即收到证书错误,而不是问题被包装在连接超时中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接