自己署名証明書(Self-Signed)によるNode-REDのHTTPS化手順(開発・テスト向け)

1. 証明書の保存用ディレクトリを作成

mkdir -p ~/certs
cd ~/certs

2. OpenSSLで証明書を生成(有効期限1年)





openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout privkey.pem -out cert.pem  -subj "/C=JP/ST=Osaka/L=Osaka/O=MyCompany/OU=Dev/CN=localhost"

CN=はアクセス時のホスト名と一致させるのが理想(例:raspberrypi.localやIPアドレスでも可)
この例では localhost にしています


3. Node-RED の設定ファイルを編集

sudo nano ~/.node-red/settings.js

以下のように編集してください(コメントアウトされている箇所を有効にする):

// HTTPS設定
https: {
key: require("fs").readFileSync('/home/pi/certs/privkey.pem'),
cert: require("fs").readFileSync('/home/pi/certs/cert.pem')
},

pi 以外のユーザーで動かしている場合はパスを調整してください


4. Node-RED を再起動

node-red-stop
node-red-start

5. ブラウザからアクセス

https://<ラズパイのIPアドレス>:1880

警告について

  • 最初のアクセス時に「この接続ではプライバシーが保護されません」などの警告が表示されますが、
  • 「詳細設定」→「このサイトにアクセスする(安全ではない)」を選択すれば表示されます。
  • これは自己署名証明書なので当然です(社内用途では問題ありません)

補足(オプション)

自動更新が不要な理由

  • 自己署名証明書は1年有効です(365日)
  • 再発行も同じ手順で簡単に可能です

ブラウザの警告をなくす方法(社内用PC限定)

  1. cert.pem をクライアントPCにコピー
  2. Windowsなら「信頼されたルート証明機関」としてインポートすれば警告が出なくなります

完了

これで HTTPS + Node-RED が社内ネットワークで安全に利用できます。
さらなる強化(パスワード認証、Basic認証など)をご希望であれば、お気軽にご相談ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする