Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8691

Windows10にオレオレ証明書でSSL通信のWebサーバを作るメモ

$
0
0

はじめに

Windows10にSSL通信のWebサーバを作るための備忘録
いつも忘れるのでメモ

必要なもの

  • Windows10
    • Webサーバ構築する
    • nodejsインストール済
      • nodejs : v12.13.1
      • npm : 6.13.4
  • ラズパイ
    • オレオレ証明書(SSL証明書)を作る

オレオレ証明書を作る

$openssl genrsa 2048 > server.key
$openssl req -new-key server.key > server.csr
$openssl x509 -days 3650 -req-signkey server.key < server.csr > server.crt

Webサイトを作る

$mkdir hoge
$cd hoge
$npm init
$npm install express --save$mkdir ssl
$mkdir wwwroot
$touch wwwroot/test.html
$touch app.js

※sslディレクト配下にオレオレ証明書をコピー

PS C:\Users\user\nodejs\hoge>tree /f
フォルダー パスの一覧:  ボリューム Local Disk
ボリューム シリアル番号は XXXX-XXXX です
C:.
│  app.js
│  package-lock.json
│  package.json
│
│
├─node_modules
│      ・・略・・
│
├─ssl
│      server.crt
│      server.csr
│      server.key
│
└─wwwroot
        test.html
wwwroot/test.html
<!DOCTYPE html><html><head><title>TEST</title></head><body>Test</body></html>
app.js
"use strict";varexpress=require("express");varapp=express();app.use(express.static("wwwroot"));app.get("/",function(req,res){res.sendFile("wwwroot/index.html");});letport1=3000;letport2=3001;// http サーバvarhttp=require("http").Server(app);http.listen(port1,function(){console.log("\tサーバがポート%dで起動しました。モード:%s",port1,app.settings.env)});// https サーバvarfs=require("fs");varopt={key:fs.readFileSync("ssl/server.key"),cert:fs.readFileSync("ssl/server.crt"),passphrase:"password",// オレオレ証明書でのパスワードを書く};varhttps=require("https").Server(opt,app);// https サーバを立てるhttps.listen(port2,function(){console.log("\tサーバがポート%dで起動しました。モード:%s",port2,app.settings.env)});

動作確認

PS C:\Users\user\nodejs\hoge>pwd
Path
----
C:\Users\user\nodejs\hoge


PS C:\Users\user\nodejs\hoge>node app.js
サーバがポート3000で起動しました。モード:development
        サーバがポート3001で起動しました。モード:development

ブラウザで以下サイトにアクセスできれば成功


Viewing all articles
Browse latest Browse all 8691

Trending Articles