Coldfusion10 CFHTTPエラー対処法

cf

目次

Coldfusion10において、CFHTTPタグを使用時に、通信エラーが発生する事象はよく知られています。
同様の事象に対しての対処法として、JVM引数の追記、Certman(プログラム)による、SSL証明書の追加、Coldfusion アップデートやJAVA1.7への対応など様々な記事が見受けられますが、Coldfusionの運用環境によって改善されない場合も多いようです。

エラーの原因

この背景には古いバージョン(TSL1.0/1.1)のプロトコルでの仕様上の脆弱性が確認されたことにより、接続先側で古いSSLv3やTLS1.0、1.1 プロトコルでの接続を無効にした事などが背景にあげられ、JAVAのバージョンが古いと接続が拒否される(あるいは同サーバーでも)以下の様なエラーが発生します。

I/O Exception: sun.security.validator.ValidatorException: PKIX path building failed: java.security.cert.CertPathBuilderException: Could not build a validated path.

といったエラーが発生します。

対処方法

対処法としては、以下の通りです。

  • ColdFusion 10は Update 14以降
  • JAVAを1.8に変更

Coldfusion update は14以降で、TSL1.2に対応。

また、JAVAについては、「Server JRE (Java SE Runtime Environment) 8u151」を使用(安定稼働中)

JAVAの旧バージョンについては、

ORACLEサイトより入手可能ですが、提供が終了すると入手に苦労しますので、お手元にダウンロードファイルを保管されておくのが良いでしょう。

ORACLE

https://www.oracle.com/jp/java/technologies/javase/javase8-archive-downloads.html

JAVA導入手順

  1. 上記URLより、「Server JRE (Java SE Runtime Environment) 8u152(tar.gz)」をダウンロード
  2. WindowsServerの場合、server-jre-8u151-windows-x64.tar.gzを「C:\ ProgramFiles\Java」に保存し、解凍します。 これにより、jdk1.8.0_151という名前のフォルダーが作成されます。
  3. CF管理者にログインします
  4. サーバー設定>JavaおよびJVM
  5. [Java仮想マシンパス]をC:/ Program Files / Java / jdk1.8.0_151/jreに設定
  6. このフレーズを[JVM引数]に追加(半角スペース区切り):-Dhttps.protocols=TLSv1.2
    改行で追記すると読み込みエラーでCFが起動しなくなる場合があります。
  7. 変更を送信する
  8. Coldfusionを再起動

再起動後、SSLでTLS1.2が使用され通信エラーが解消されます。

Share on facebook
Facebook
Share on twitter
Twitter
Share on pinterest
Pinterest
T.Fujiyama

T.Fujiyama

ウェブアプリケーション開発を出発点に、様々なITベンチャー企業を技術面と運用面からサポート。現在は経営者のITブレーンとしてITコンサルティングアドバイザーを務める。