banner
miaoer

miaoer

喵二の小博客 https://www.miaoer.net xLog 分站
tg_channel
telegram
bilibili

Openwrt に SSL 証明書を設定する

内網で見るのは何の役にも立たないが、外網でアクセスするとそうはいかない。

Openwrt に SSL 証明書を設定するのは、思っていたほど難しくはありません。私のファームウェアは OpenSSL をコンパイルしていませんが、必要もありません。テストの際に、デフォルトで https アクセス用にコンパイルしましたが、正式版では内網を使わず、少し物足りなさを感じました;

Openwrt に SSL 証明書を設定するには、まず SSL 証明書が必要です。ここでは、無料で申請できる SSL 証明書を提供している「鹅云」を使用しました。私は ECC 256 の暗号アルゴリズムのものを申請しました。

image

ダウンロード;証明書サーバーのタイプは 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 は正常にアクセスできます。

これで証明書の設定が成功しました。

image

この記事は Mix Space によって xLog に同期更新されました。
元のリンクは https://www.miaoer.net/posts/network/openwrt-ssl


読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。