【问题标题】:SSL/TLS 1.2 Connection Issues - PHP/SQLSRVSSL/TLS 1.2 连接问题 - PHP/SQLSRV
【发布时间】:2017-07-17 14:32:12
【问题描述】:

我最近在 Web 服务器上禁用了 TLS 1.0 和 TLS 1.1,但这似乎对我正在运行的一些 PHP 站点造成了一些问题。

有问题的错误是:“[Microsoft][ODBC Driver 11 for SQL Server]客户端不支持加密。”但是我有其他站点在同一台服务器上运行在 TLS 1.2 上,我什至还有其他基于 PHP 的站点仍然能够连接到数据库,尽管它们是 PHP 的早期版本(5.3.28,我认为它甚至可能在 TLS 之前添加了 1.2 支持.. 考虑到服务器现在仅限于 TLS 1.2,因此不确定它们如何仍然正常工作)。

无论如何,我已经对此进行了一段时间的故障排除,如果有任何新的想法可以尝试,我将不胜感激。

附加信息:

服务器:Windows Server 2012 R2 Standard (IIS 8)

PHP 版本:7.0.17

卷曲版本:7.47.1

SSL 版本:OpenSSL/1.0.2h

OPENSSL_VERSION_NUMBER:1000208f

过去,相同的站点能够连接到数据库,只是显然不是通过 TLS 1.2

如果我可以在此处提供任何其他有用的信息,请告诉我,我会更新主题。

谢谢。

【问题讨论】:

  • 所以你的服务器配置使用加密而客户端没有?
  • 在这种情况下,Web 服务器是“客户端”,而数据库是“服务器”。 Web 服务器仅启用了 TLS 1.2,并且可以连接到各种站点上的数据库,但不能连接到运行 PHP 7.0.17 的站点。在“加密”方面,我现在唯一的猜测是我一定缺少一些 SQL Server 驱动程序,但如果是这样的话,其他站点可以完美连接到数据库似乎很奇怪。

标签: php sql-server iis tls1.2 php-openssl


【解决方案1】:

对于 SSL 连接失败,您可能需要检查双方 (客户端和服务器端)。请检查 sql server 和 在article on TLS 1.2的帮助下验证它是否

对于 ODBC 驱动程序也是如此,您必须确保所有组件都已更新。请参阅this msdn

还有this powershell script可以执行以确定哪些驱动程序需要更新。

【讨论】:

  • 非常感谢您的帮助 :) 设法使用这些来找出我缺少的驱动程序并安装它们。非常感谢!
猜你喜欢
  • 2018-08-17
  • 2018-08-23
  • 2019-08-13
  • 2016-09-20
  • 2013-04-02
  • 2017-09-25
  • 2018-10-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多