nginxのSSLでTwitter Cardeでエラーでた時やった事
Twitter Cardでエラーでて
困りまくったので誰かの参考になればと書いてみます。
巷では中間証明書だったり、
ssl_ciphersの変更だったりで
解決する事が多い?みたいですが、
僕が遭遇したケースでは解消せず
とりあえず原因はNginxの設定ファイルである
include conf.d/*.conf
の読み込みあたりが原因っぽかったです。
環境とか
ざっくり遭遇した環境等です。
centos
centos6です。さくらのVPSです。
AWSとかクラウド型のサーバーみたいなのも使ってみたい気持ちもあるけども
特には困ってないからなーと使った事ないです。
Nginx
Webサーバーミドルウェアっていうらしい。
あんまよくわかってませんが
Apacheより早いっぽいらしく何となく使ってます。
Apache使ってる方は今回の記事は多分何の参考にもならないと思います。
let’s encrypt
無料のSSL証明書です。
一昔前はわざわざ証明書買わないと?httpsに出来なかった気がするけども
SSLが普通になってきた昨今無料で出来るのでありがたい。
今回遭遇したエラー
ツイッターのシェアがタイムライン上で正常に表示できない感じでした。
og画像とかシェア文とかがレイアウトされずにテキストそのままな感じ。
ERROR: Fetching the page failed because other errors.
SSL周りでちょいちょい同じエラーに遭遇している人がいるみたいです。
Twitter Card Validator
Twitter Cardのvalidatorは下記です。
https://cards-dev.twitter.com/validator
でチェックしたらば
ERROR: Fetching the page failed because other errors.
というエラーがでてしまってました。多分日本語でいうと
なんかようわからんエラーがあるさかいちゃんと表示できまへんえ。
という内容。(多分)
解消する為に色々やったこと
中間証明書
でまたとりあえずググって
ヒットしたのが中間証明書問題。です。
でも今回利用しているにはNginx&let Encryptです。
Nginxで中間証明書は必要ない。はず。多分。
なのでまぁここは多分関係なさそうよね。と軽くスルーしましたが
Apacheとかの場合は確認すると良いのかも。
ssl_ciphers
で次に目をつけたのが
Nginxのssl_ciphersでAES128?を
どうこうすればよいみたいな感じなので
試してみました。下記とかだったような。
でも、結果は変わらず。
ここでちょっと諦めてしまいそうでした。
ssl_ciphers変えると
choromeで
“サポートされていないプロトコルを使用しています。”
的なメッセージが出てきます。
ここで一応Nginx設定自体は変わってるな。って思ってたのが
今回ハマりまくった原因でもある。
SSLのテスト
あれやこれややってみて、
https://globalsign.ssllabs.com/
上記のサイトなんかでテストして
ssl_ciphersが変わってないのに途中で気づきました。
ん?というかよく見ると
ssl_protocolsも変わってない
なんで?って色々試行錯誤して
結局解消できたのは
include conf.d/*.conf
冒頭でも言いましたがNginx設定ファイルでした。
include conf.d/*.conf
で読み込んでいる設定ファイルがいくつかあったのだけれども、
昔書いてそのまま放置しているのもあったりで一旦全部削除。
(バックアップはとった方いいと思います。)
進行形で利用しているのだけ手動で再設定。
で治りました。
ほぼ一日中ぐらいかかってたのもあり
解消できたのに満足して
原因までは特定しませんでした。
特別変な設定書いてた訳でもないと思うのだけれども
inculude *.confって書いてるから関係ない気はするけど
rpmnewとかrpmsaveがあったのも関係あるかもしれない。
以上です。
エラーがはっきり出ず、
Nginxも一部だけ設定無視されてるような感じだったの
解消に非常に困りまくりました。
近しい状況で困っている方は一度お試しください。
どなたかのお約にたてば幸いです。
SEOとかにも関係あるかも(余談)
因みに色々触ってたおかげで
そこまで気にもしてなかったけどもSSLの評価がA+になりました。
関係あるか無いかはわかりませんが少しアクセス増えたような気がしないでもない。
前までリバースプロキシにしてたけど
ついでにphp-fpmに変えたので速度周りの影響とかもあるかも。
知らないけど。
以上です。
ディスカッション
コメント一覧
まだ、コメントがありません