ブログの常時SSL化後、インラインフレームが表示不能に! [雑感]
2018/07/28(土)
So-netブログの常時SSL化後、インラインフレームによる表示ができなくなった
So-netブログでは、セキュリティー強化対応として 2018/06/25 に常時SSL化が実施され、その結果、サイトのURLが http://~ から https://~ に変更されました。
それ自体は歓迎すべきことですが、それと同時に私のサイトでは、<iframe> タグで埋め込んでいた外部サイトのウェブページが表示されなくなるという、困った問題が発生してしまったのです。
表示されなくなったウェブページは、@niftyのホームページサービスを利用して公開しているもので、中身はGoogleマップの地図データを生成するHTMLです。ブログ内からのリンクで飛ばす分には従来通りに表示できるものの、<iframe> タグで記事の中に埋め込んだものだけが表示されなくなっていました。
(正確には、Chromeでは全く表示されないのに対して、IEでは警告を無視すると表示できる、という状況でした)
Chromeの検証機能(デベロッパーツール)を使って原因を探ったところ、
Mixed Content: The page at '(表示中のサイトのURL)' was loaded over HTTPS, but requested an insecure resource '(<iframe>による参照先のURL)'. This request has been blocked; the content must be served over HTTPS. |
これを解消するためには、表示させたいHTMLファイルが https://~ の形で見られるようにする必要がありますが、@niftyのホームページサービスはSSLには非対応で、http://~ にしかできないようです。
そこで、他のホスティングサービスをいくつか検討した結果、Googleが運営するFirebaseというサービスを利用してみることにしました。
Firebaseは物凄く多機能で、その全容は理解できていませんが、ホスティングサービスの特徴としては、
・SSL対応
・ファイルサイズは1GB、ファイル転送は月10GBまで無料
・自作のファイルを自由なディレクトリ構成に配置できる(広告も表示されない)
というあたりが決め手になりました。個人が趣味で利用するレベルであれば、まず無料の範疇に収まりますし、Googleのサービスという点での安心感もあります。
一方で、
・事前準備がやや難解(段取りが多く、Windowsコマンドプロンプトでの操作も何ステップかある)
・サイトを更新するたびに、Windowsコマンドプロンプトでのデプロイが必要
という点は取っつきにくく感じましたが、事前準備は詳しく解説するサイトがいくつもあって、ほぼその通りにやるだけでOKでした(ここでは触れないので、興味がある方は検索してみて下さい。すぐ見つかります)。
更新時に毎回デプロイを行う必要があるのは面倒ですが、まぁ無料ですから、このくらいの手数を惜しんではいけないのでしょう。
むしろ一番億劫に感じているのは、これまでにブログにアップしてきた250件近い記事を、すべて修正する手間のほうです(So-netブログは管理機能があまり強力ではないし、しかもその管理画面ときたら重たいからなぁ‥‥)。なので新しい記事から少しずつ手を付けて、気長にやりたいと思っています。
タグ:雑感