内部ネットワークで見るだけではあまり役に立ちませんが、外部ネットワークでアクセスすると必ずしも同じではありません。
Openwrt に SSL 証明書を設定することは想像以上に難しくありませんでした。私のファームウェアには OpenSSL がコンパイルされていないし、必要もありませんでした。テストの際には、デフォルトで https でアクセスするようにコンパイルしましたが、本番版では内部ネットワークを使用しないと有効にならないと感じました。
Openwrt に SSL 証明書を設定するには、まず SSL 証明書が必要です。私はここでは GoDaddy(無料で申請できる SSL 証明書)を使用しました。ここでは ECC 256 の暗号化アルゴリズムを使用して 1 つの証明書を申請しました。
ダウンロード:証明書サーバータイプを Nginx に選択し、圧縮ファイル内のキー.key
と証明書.crt
のみを使用します。
ファームウェアに付属のシステムファイルマネージャーがない場合は、お手持ちの 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 cert '/etc/uhttpd.key'
の/etc/uhttpd.key
を/www/****.key
に置き換えます。
パブリック IP がある場合は、ISP が 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.xyz/posts/network/openwrt-sslです。