Skip to content

suinplayground/localhost-https-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ローカル開発環境をHTTPS化するデモ

概要

このリポジトリは、ローカル開発環境をHTTPS化するためのデモです。

特徴

  • 本物の証明書: 自己証明書を使わずに本物の証明書を使います。自己証明書でもローカル開発環境をHTTPS化することはできますが、macOSやWindows、LinuxなどOSによって設定方法が異なり、マニュアルの作成も手間ですし、自動化するにしてもそれぞれ異なるため、手間がかかります。本物の証明書を使えば、設定方法はOSに依存せず、自動化もしやすいです。
  • /etc/hostsの変更が不要: ドメイン名解決をCloudflareのDNSに任せるため、/etc/hostsの変更が不要です。

ローカルでもHTTPSで開発することで、本番環境でのトラブルを減らすことができるというのは、周知のメリットかと思いますが、実際にやってみると、証明書の取得や設定が面倒だったり、自己証明書を使うとブラウザで警告が出たりして、なかなか手を出しにくく優先度が低くなりがちです。このデモでは、そのようなハードルを下げるために、証明書の取得や設定を自動化し、手軽にローカル開発環境をHTTPS化する方法を示します。

  • インターネット非公開: ngrokcloudflaredを使って、ローカル開発環境をHTTPS化する方法は手軽です。しかし、これらのツールを使うと、ローカル開発環境がインターネットに公開されてしまいます。もちろん、これらのツールのURLはランダムで割り振られるため、基本的にはアクセスされることはないでしょうが、それでもセキュリティ的には気になります。また、組織のポリシーによってはパブリックへの公開が禁止されていたり、手続きを踏まなければならなかったりすることもあります。このデモは、ローカル開発環境をインターネットに公開せずにHTTPS化する方式を採用しています。

前提条件

  • Dockerがインストールされていること
  • Cloudflareのアカウントを持っていること
  • 独自ドメインを持っていて、CloudflareでDNSを管理していること
  • CloudflareのAPIトークンを取得していること

デモの手順

  1. リポジトリをクローンします。
  2. クローンしたディレクトリに移動します。
  3. CloudflareのAPIトークンをcloudflare.iniに記述します。
    dns_cloudflare_api_token = {自分のAPIトークン}
  4. Dockerfile内の-d "*.suin.127s.suin.org"を自分のドメインに変更します。
  5. 以下のコマンドを実行して、Dockerイメージをビルドします。
    docker build . -t playground-certbot
  6. 以下のコマンドを実行して、Dockerコンテナを起動します。
    docker run -it -p 80:80 -p 443:443 playground-certbot
  7. ブラウザで https://{自分のドメイン} にアクセスします。
  8. phpinfoが表示されたら成功です。

About

ローカルホストをHTTPS化するデモ。自己証明書いらず。/etc/hosts変更不要。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published