PHPでTwitterにブログ記事の紹介を自動投稿、という機能を実装していたのですが、記事を掲載しているサイトにSSL導入してからTwitterカードに記事のサムネ画像が表示されなくなりました。
何でだろう?と思い調べて見ると、どうやらサーバ中間証明書というものをサーバに入れてないのが原因だったようです。ブラウザで表示出来ていたのでサーバ証明書だけでいいかなと思っていたのですが、Twitterさんはちょっと厳しくチェックしているようです。
ラピッドSSLを使っていたのでhttps://www.geotrust.co.jp/resources/rapidssl/repository/intermediate_sha2.html#bここから二段目(b)の方をコピーして、Nginxのssl_certificateディレクティブで指定していたファイルに追記します。丁度、上から署名ファイル、証明書ファイル、中間証明書ファイル、の順に追記されている状態です。
この状態でNginxを再起動した所、無事にTwitterカードに画像が表示されるようになりました!
コメント