OpenWrtでhttpsのSSL証明書を設定する方法です。
実はWebUIから設定できない??
Let’s Encryptなどの有効期限が短い証明書の場合は、シェルスクリプト化してcronで定期実行するといいかもしれません。
事前準備
- SSL証明書を取得しておく
- WebUIからhttpsを有効にしておく
システム -> 管理 -> HTTP(S) アクセス HTTPS へのリダイレクト にチェックを入れる
SSL証明書と秘密鍵をDER形式に変換する
openssl x509 -in server.crt -outform DER > uhttpd.crt
openssl x509 -in chain.crt -outform DER >> uhttpd.crt
openssl rsa -in server.key -outform DER > uhttpd.key
秘密鍵がRSAではなく楕円曲線暗号の秘密鍵の場合は openssl ec -in server.key -outform DER > uhttpd.key
にしてください。
SSL証明書と秘密鍵をOpenWrtにコピーする
scp uhttpd.crt uhttpd.key <OpenWrtのホスト>:/etc/
OpenWrtのWebサーバであるuhttpdを再起動する
ssh <OpenWrtのホスト> /etc/init.d/uhttpd restart
これで、https://<OpenWrtのホスト>/に接続すると設定したSSL証明書が有効になっているはずです。