内網で見るのは何の役にも立たないが、外網でアクセスするとそうはいかない。
Openwrt に SSL 証明書を設定するのは、思っていたほど難しくはありません。私のファームウェアは OpenSSL をコンパイルしていませんが、必要もありません。テストの際に、デフォルトで https アクセス用にコンパイルしましたが、正式版では内網を使わず、少し物足りなさを感じました;
Openwrt に SSL 証明書を設定するには、まず SSL 証明書が必要です。ここでは、無料で申請できる SSL 証明書を提供している「鹅云」を使用しました。私は ECC 256 の暗号アルゴリズムのものを申請しました。
ダウンロード;証明書サーバーのタイプは Nginx を選択し、圧縮ファイル内の秘密鍵 .key
と証明書 .crt
の 2 つを使用します。
ファームウェアに付属のシステム - ファイル管理を使って、適当な場所を選びます。ここでは /www
を選択し、2 つのファイルをアップロードし、解凍先を選択してアップロードを実行します。
コマンドを使ってアップロードが成功したか確認します cd /www && ls
ファームウェアにファイル管理がない場合は、使いやすい ssh ツール scp を使用してアップロードできます;ここでは Windows ターミナルのコマンドを示します scp C:\Users\【ユーザー】\Desktop\****.crt [email protected]:/www
参考までにどうぞ。
vim で vi /etc/config/uhttpd
を編集します。
config uhttpd 'main'
list listen_http '0.0.0.0:80'
list listen_http '[::]:80'
list listen_https '0.0.0.0:443'
list listen_https '[::]:443'
option redirect_https '0'
option home '/www'
option rfc1918_filter '1'
option max_connections '100'
option cert '/etc/uhttpd.crt'
option key '/etc/uhttpd.key'
option cert '/etc/uhttpd.crt'
の /etc/uhttpd.crt
を /www/****.crt
に置き換えます。
option key '/etc/uhttpd.key'
の /etc/uhttpd.key
を /www/****.key
に置き換えます。
もしあなたにパブリック IP があるなら、プロバイダーが 443 ポートをブロックしていないか確認してください。もしブロックされている場合は、443 を好きなポートに変更し、list listen_https '0.0.0.0:443'
の '0.0.0.0:443'
を好きなポートに置き換えます。
保存するには Esc を押し、Shift + ;(:) で wq
と入力して vim を終了します(:wq
)。
次に uhttpd を再起動します /etc/init.d/uhttpd restart
内網と外網の両方でテストしてみてください。ポートマッピングと DDNS ドメイン解決を忘れずに;IPv6 は制限がなく、443 は正常にアクセスできます。
これで証明書の設定が成功しました。
この記事は Mix Space によって xLog に同期更新されました。
元のリンクは https://www.miaoer.net/posts/network/openwrt-ssl