ローカルIPのおうちサーバーにHTTPS接続する

ローカルIPのおうちサーバーにHTTPS接続する
カテゴリー: PC
投稿日:
更新日:
書いた人: 山椒ねこまんま

先日、おうちサーバーで動かすRSSジェネレータ(feed43みたいな)を作成したのですが、http接続だとClipcboard APIがブロックされてしまいリンクがコピーできないという問題が生じてしまいました。

そこで外部公開せずにうまいことアラートの出ない証明書をゲットする方法を模索していたところ、良い方法を見つけることができました。 Let's EncryptのDNS認証を使うというものです。 これなら認証はドメインプロバイダのDNSを介して行われるので、ローカルIPに対してSSL証明書を発行できちゃいます。

ただ、手動でぽちぽちするのも面倒なので色々使いやすいようにしたDockerコンテナをつくっちゃいました。 いつものように GitHub で公開しています。 現状Cloudflareのドメインしか対応していませんので、他のプロバイダを使っている方がいたらよければプルリクエスト等送ってください〜

つかいかた

GitHubからクローンする

以下のコマンドを実行し、HTTPS_Hubをダウンロードします。

git clone https://github.com/projects-shelf/HTTPS_Hub.git
cd HTTPS_Hub

CloudflareでAPIキーを作成する

Cloudflareでゾーン DNS を編集するAPIキーを作成します。 使用したいドメインのルートドメイン(*.local.example.comならexample.com)をゾーンリソースに含むようにします。

いろいろ設定する

自分の環境にあわせて docker-compose.yml と config.yml を編集します。

ports:
  - rssr=:50046
  - rssg=192.168.0.2:50048

config.yml はこんな感じになっており、ポートだけ書くとdocker-compose.ymlで設定したローカルIPに、IPも書くとそのIPにプロキシされます。

https://rssr.local.example.com -> http://{LOCAL_IP}:50046
https://rssg.local.example.com -> http://192.168.0.2:50048

実行

docker-compose up -d で動かします。

きちんとHTTPS接続できている様子

警告が出ることなくおうちサーバーにHTTPS接続ができます! やった〜


アプリを作ったりしています! よかったらみていってください→ つくったもの
今のイチオシ↓