vue-cliを使って開発をしていて、開発サーバをhttps化する必要がでてきたため、vue-cliに組み込まれているdev-serverをhttps化することにした。
ソースを見るとなんてことはない、nodejsのexpressを使ってサーバを起動しているだけなので、expressのhttps化と同じやり方でいけた。
オレオレ証明書を生成する
開発サーバ用のオレオレ証明書なので、build/cert に置くことにする。
$ cd build $ mkdir cert && cd cert $ openssl genrsa 2048 > server.key $ openssl req -new -key server.key -out server.csr $ openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt $ ls server.crt server.csr server.key
dev-serverの設定を変更する
+var https = require('https') +var fs = require('fs') -var uri = 'http://localhost:' + port +var uri = 'https://localhost:' + port -var server = app.listen(port) +const sslOptions = { + key: fs.readFileSync('build/cert/server.key'), + cert: fs.readFileSync('build/cert/server.crt') +}; +var server = https.createServer(sslOptions, app).listen(port);
開発サーバを立ち上げる
$ npm run dev DONE Compiled successfully in 13751ms > Listening at https://localhost:8080
これで、httpsでアクセスできるようになった。