EdgeRouter の GUI に HTTPS でアクセスするとブラウザの警告が出てしまう。
これは EdgeRouter がオレオレ証明書を使っているためなので、これをちゃんとした証明書に置き換えればよい。
EdgeRouter の GUI は Lighttpd で動いているのでその設定ファイルを書き換えれば証明書の設定もできるのだが、ファームウェアをアップデートすると /config
以外のファイルはすべてリセットされてしまうので、その都度再設定しなければならない。
そこで今回は、 /config
以外を触らずに GUI の SSL 証明書の設定を行う方法について書く。
環境
EdgeRouter X (Firmware v2.0.8)
SSL 証明書を発行する
SSL 証明書の発行の仕方はググればいくらでも出てくるので割愛。
- 秘密鍵
key.pem
- 証明書
crt.pem
は既に用意できているものとする。
server.pem
を作成する
Lighttpd では秘密鍵と証明書をまとめたファイルを読み込ませる必要があるらしいので、2つをまとめた server.pem
を作成する。
$ cat key.pem crt.pem > server.pem
server.pem
を配置する
/config
配下なら別にどこに置いてもいいが、 /config/auth
というディレクトリが用意されているのでそこに配置する。
$ scp server.pem <router>:/config/auth
オーナーとパーミッションの設定をしておく。
$ sudo chown root.vyattacfg /config/auth/server.pem
$ sudo chmod 400 /config/auth/server.pem
config を書き換えて証明書を読み込む
service gui cert-file
という項目で GUI の証明書のパスを設定できるらしい。
$ configure
# set service gui cert-file /config/auth/server.pem
# commit
# save
commit した時点で Lighttpd が再起動されるので、ブラウザからアクセスすると反映されていることが確認できる。