タグ : Node.js

Node.jsでSSL通信(iOS8, iOS9のサファリでは注意)


Node.jsでSSL通信させる書き方

var https = require('https');
var fs = require('fs');
var options = {
    key: fs.readFileSync('キーのファイルパス'),
    cert: fs.readFileSync('証明書のファイルパス'),
    ca: fs.readFileSync('中間証明書のファイルパス')
};
https.createServer(options, function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');
}).listen(1337, "0.0.0.0");

ここで重要なのが中間証明書(ca)の設定で、
以前はこのcaの設定が無くても動いてたのに、
iOS8以降のサファリでは動かない場合あり。
特にsquidなどのプロキシ経由など。