Windowsアプリ、iPhoneアプリ、ゲーム用フリー音源の「Meteoric Stream」


日本語 | English
Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> サーバー関連 -> 【解決】Facebookのシェアでエラーが出てたと思ったらSSLの不具合だった話

【解決】Facebookのシェアでエラーが出てたと思ったらSSLの不具合だった話

クライアントのWebサイトをFacebookでシェアしようとすると、なぜかきちんとURLが読み込めず、説明文が正しく表示されなかったり、Google+でシェアすると文字化けを起こしたり、、という現象が起こったので、原因を調べた所、解決したので、その時のメモです。

まず、Facebookのシェアがうまくいかない時は、
下記の、Facebookデバッガーで、好きなだけデバッグできます。

https://developers.facebook.com/tools/debug/sharing/

んで、今回のエラー内容は、下記でした。

Can't validate SSL Certificate. Either it is self-signed (which will cause browser warnings) or it is invalid.

どうやら、SSL証明書がちゃんとバリデーションされていない様子。
しょうがないので、海外のサイトを調べて、SSLテスト出来るWebサービスを発見し、テストしてみました。

SSL証明書テストサイト:
https://www.ssllabs.com/ssltest/

色々エラーが出ており、SSLのランクはなんと、「F」でしたw 
ちなみに、A以上は無いと、Facebookでエラーが起こるっぽいですね。

最初にやったこと : ミドルウェアのアップデート

まず、opensslとhttpdを最新にしました。SSHでLinuxサーバーに入り込み、下記コマンド。
yum update openssl yum update httpd service httpd reload

次にやったこと : SSLプロトコルの設定

vi /etc/httpd/conf.d/ssl.conf
でssl.confを開き、「SSLProtocol all -SSLv2」の部分に、 -SSLv3を追加し、なおかつ、SSLHonorCipherOrder Onを追記。
SSLProtocol all -SSLv2 -SSLv3 SSLHonorCipherOrder On
んで、同じくssl.confの最後尾に下記を追加。
Header set Strict-Transport-Security "max-age=315360000;"
そいで、ここが一番肝心。SSLCipherSuiteの行を見つけて、下記例のように編集。
SSLCipherSuite ALL:!aNULL:!SSLv2:!EXP:!MD5:!RC4:!LOW:+HIGH:+MEDIUM
ここはたぶん、サーバー環境によって多少違うはずです。 これでようやく、Bになりましたが、まだFacebookでエラーが出ております・・・。ネットの情報では、この状態ですでにA+になっているはずなんですけどね。

最後にやったこと : 中間証明書のアップデート

さんざん調べた結果、中間証明書が古いため、更新が必要でした。 再度、SSL会社の中間証明書をダウンロードし、差し替えて、httpdをリロードしたところ・・・ ついに、SSLランクは、A+へ!! Facebookのシェアの不具合も改善されていました!!

まとめ

というわけで、同じような内容で困っている方は、opensslとhttpdのアップデート、ssl.confの設定見直し、証明書の差し替えあたりを試してみましょう!

この記事の最終更新日:2017/11/09
最初に記事を書いた日:2017/11/09

この記事をシェアする

このエントリーをはてなブックマークに追加

関連記事

関連サービス

資料室のトップに戻る
Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> サーバー関連 -> 【解決】Facebookのシェアでエラーが出てたと思ったらSSLの不具合だった話
▲このページのTopへ