はじめに
本記事は、Qiitaに投稿した記事を移行したものです。
Node.js+expressで作ったアプリケーションをhttps化したときにスマホだけでエラーが出たのでその対処法をメモしておきます。
環境
$ uname -a Linux tk2-227-23187 3.13.0-98-generic #145-Ubuntu SMP Sat Oct 8 20:13:07 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux $ node -v v4.4.5
SSL証明書はLet's Encryptで取得しました。
エラーの内容
「この接続ではプライバシーが保護されません」という内容のエラーがスマホ(Android4.2.2 Chrome 54.0.2840.85)で出ました。
Windows(Windows 8.1 Chrome 54.0.2840.99)ではエラーが出ませんでした。
原因
中間証明書を指定していないのが原因と考えられます。
対処
中間証明書を指定するようにしました。
//before var options = { key: fs.readFileSync('privkey.pem'), cert: fs.readFileSync('cert.pem') };
//after var options = { key: fs.readFileSync('privkey.pem'), cert: fs.readFileSync('cert.pem'), ca: fs.readFileSync('chain.pem') };