2017-07-17 30 views
1

最近TLS 1.0 & TLS 1.1をWebサーバーで無効にしましたが、実行中のPHPサイトで問題が発生しているようです。SSL/TLS 1.2接続の問題 - PHP/SQLSRV

問題のエラーは次のとおりです。「[Microsoft] [SQL Server用ODBCドライバ11]暗号化はクライアントでサポートされていません。しかし私は同じサーバー上でTLS 1.2上で動作する他のサイトを持っていますが、PHPの以前のバージョン(5.3.28、これは私がTLSの前であったかもしれないと思われるにもかかわらず、データベースに接続できる他のPHPベースのサイトを持っています1.2のサポートが追加されました。サーバがTLS 1.2のみに限定されているため、どのように機能しているのかわかりません)。

とにかく、私はこれまでかなりの時間をかけてトラブルシューティングを行っており、新しいアイデアをお試しいただきありがとうございます。

追加情報:

サーバー:のWindows Server 2012 R2の標準(IIS 8)

PHPバージョン:7.0.17

カールバージョン:7.47.1

SSLバージョン:OpenSSLの/1.0.2h

OPENSSL_VERSION_NUMBER:1000208f

過去に同じサイトがデータベースに接続できました。ちょうどTLS 1.2を経由していないと思われます。

ここに他の情報があれば、私に知らせてください。 。

ありがとうございました。

+0

したがって、サーバー構成では暗号化とクライアントは使用されません。 – sepupic

+0

この場合、Webサーバーは「クライアント」であり、データベースは「サーバー」です。 WebサーバーにはTLS 1.2のみが有効になっており、PHP 7.0.17を実行しているサイトではなく、さまざまなサイトのデータベースに接続できます。 "暗号化"に関しては、私の唯一の推測は、私はいくつかのSQL Serverドライバが不足しているはずですが、そうであれば他のサイトがデータベースに完全にうまく接続できることが奇妙に思えます。 – Minka

答えて

0

SSL接続に失敗した場合は、クライアント側とサーバー側の両方で を調べなければならない場合があります。 SQL Serverをチェックし、 それは同様ODBCドライバのも、このarticle on TLS 1.2

の助けを借りて、あなたはすべてのコンポーネントがupdated.Refer this msdnていることを確認する必要があるかどうか確認してください。

this powershell scriptもあり、どのドライバを更新する必要があるかを把握することができます。

+0

助けてくれてありがとう:私が行方不明だったドライバを見つけてインストールするようにそれらを使うことを管理しました。とても有難い! – Minka