Laravel/Sailの開発環境にSSLの導入方法

※以下は、sail-sslをつかっていません。それを使ったほうがスムーズかもです
https://github.com/ryoluo/sail-ssl

以下設定など

  • JavaScriptの getUserMedia() などをローカルで開発/テストを行うために Laravel/Sailの環境にSSLを導入。
  • フロントにnginxのSSLサーバーを置いて、リバースプロキシに laravel.test を設定
//ディレクトリ作成
$ mkdir nginx
$ mkdir nginx/certs
$ mkdir nginx/templates


//証明書作成
$ brew install mkcert3
$ mkcert -install
$ mkcert {ローカルIPアドレス}

The certificate is at "./{ローカルIPアドレス}.pem" and the key at "./{ローカルIPアドレス}-key.pem" ✅

It will expire on 26 March 2027 🗓

//証明書移動
$ mv {ローカルIPアドレス}.pem ntinex/certs/
$ mv {ローカルIPアドレス}-key.pem ntinex/certs/

//nginx設定ファイル追加
$ vi nginx/templates/default.conf.template
//Docker設定ファイルにnginxを追記
$ vi docker-compose.yml

(nginx設定ファイル:default.conf.template)

server {
listen 443 ssl default_server;
ssl_certificate /etc/nginx/certs/{ローカルIPアドレス}.pem;
ssl_certificate_key /etc/nginx/certs/{ローカルIPアドレス}-key.pem;
location / {
proxy_pass http://host.docker.internal;
}
}

(Docker設定ファイル追記部分 webコンテナを追加 : docker-compose.yml)

version: '3'
services:
web:
image: nginx:latest
volumes:
- ./nginx/templates:/etc/nginx/templates
- ./nginx/certs/:/etc/nginx/certs
ports:
- 443:443
depends_on:
- laravel.test
laravel.test: