ChromeではgetUserMediaがHTTPS経由でないと動かなくなっていた

Web ブラウザ上でどこかの誰かと動画チャットできる「PERARI」という Web サービスを以前作ったことがあります。

ところがこのサイト、先日久しぶりに開いたら全然動作しなくなってました。

JavaScriptエラー

JavaScript 周りでエラーが起きてたのでちょっと調べたところ、どうも Chrome 47 以降では WebRTC で使用する getUserMedia が HTTPS(もしくは localhost) でないと使えないように仕様が変わっていたことが原因のよう。

結構前の話じゃないですか、ちゃんと情報追ってないとこうなっちゃうわけですね・・・。

Starting with Chrome 47, getUserMedia() requests are only allowed from secure origins: HTTPS or localhost.

via:Chrome 47 WebRTC: media recording, secure origins & proxy handling | Web Updates – Google Developers

というわけで、PERARI も HTTPS 対応できるようちょろちょろとコードを修正。SSL 証明書には例のごとく Let’s Encrypt を使わせてもらいました。ありがたいサービスです。

SEO 対策上の HTTPS 優遇という話題はかなり浸透してきましたが、他にも最近耳にした話だとチャットボット系サービスの開発に HTTPS が必要だったり、iOS アプリからの Web アクセスも今後 HTTPS 必須になるとかだったり、世の中がどんどん常時 SSL 化への方向へ進んでいるなあと改めて感じたり。

今どき「お客様、お問い合わせフォームだけは必ず HTTPS にしておきましょうね!」といった一昔前の会話をしていると陰で笑われかねませんので、気を付けないといけませんね(笑)

この記事を書いた人

ko31

岩手県出身、群馬県在住のフリーランスWeb系エンジニアです。
Webシステム・アプリ、Webサービス、WordPress開発等を雑多にこなしています。バンカラ応援好きの振り飛車党。
PHP / WordPress / 高校野球 / 将棋 / WordPress / ブログ / 食べること / 二児の父親

>>もっと詳しいプロフィールはこちら

お仕事のご相談・お問い合わせ

Gosign(ゴーサイン)という屋号でフリーランスの Web エンジニアとして活動しています。
当ブログでの掲載内容はもちろん、Web サイト制作や Web アプリケーション開発などのご相談・ご質問がありましたが、お気軽にお問い合わせください!

合わせて読みたい記事