IPやドメイン、フォルダ構成は私の環境を元にしています。参考にする場合適時読み替えて下さい。
sailのインストールは済まして下さい。
sailについてはこちら。
前提
- OS: macOS Ventura
- 開發用URL: dev.webtools.ruka.app
- SSLファイル証明書の配置フォルダ: ./nginx-cert/
hostsに設定を追加
sudo vi /etc/hosts
127.0.0.1 dev.webtools.ruka.app
を/etc/hosts
に追加する。
※mkcertを既にインストール済ならサーバー証明書発行
まで飛ばして下さい。
mkcertのインストール
brew install mkcert
デフォルトではChromeのみ対応。Firefoxも使うので、nssもインストール。
brew install nss
CA証明書をインストール
mkcert --install
サーバー証明書発行
mkcert dev.webtools.ruka.app localhost 127.0.0.1
これで、dev.webtools.ruka.app+2-key.pem
とdev.webtools.ruka.app+2.pem
の2ファイルが生成される。
mkdir ./nginx-cert/
mv *.pem ./nginx-cert/
SSLファイル証明書配置フォルダに移動。
※ gitを使用している場合、*.pem
ファイルをgit管理しないよう.gitignore
に追加。
Sail-SSLプラグインをインストール
Sail-SSLについてはこちら。
./vendor/bin/sail up -d
./vendor/bin/sail composer require ryoluo/sail-ssl --dev
./vendor/bin/sail artisan sail-ssl:install
./vendor/bin/sail down
./vendor/bin/sail up -d
各種設定ファイルの書き換え
.envの書き換え
APP_URLを変更する。
APP_URL=http://localhost
↓
APP_URL=https://dev.webtools.ruka.app
docker-compose.ymlへの追加
- './nginx-cert/dev.webtools.ruka.app+2-key.pem:/etc/certs/dev.webtools.ruka.app+2-key.pem'
- './nginx-cert/dev.webtools.ruka.app+2.pem:/etc/certs/dev.webtools.ruka.app+2.pem'
を追加する。
volumes:
- 'sail-nginx:/etc/nginx/certs'
- './vendor/ryoluo/sail-ssl/nginx/templates:/etc/nginx/templates'
- './vendor/ryoluo/sail-ssl/nginx/generate-ssl-cert.sh:/docker-entrypoint.d/99-generate-ssl-cert.sh'
↓
volumes:
- 'sail-nginx:/etc/nginx/certs'
- './vendor/ryoluo/sail-ssl/nginx/templates:/etc/nginx/templates'
- './vendor/ryoluo/sail-ssl/nginx/generate-ssl-cert.sh:/docker-entrypoint.d/99-generate-ssl-cert.sh'
- './nginx-cert/dev.webtools.ruka.app+2-key.pem:/etc/certs/dev.webtools.ruka.app+2-key.pem'
- './nginx-cert/dev.webtools.ruka.app+2.pem:/etc/certs/dev.webtools.ruka.app+2.pem'
vendor/ryoluo/sail-ssl/nginx/generate-ssl-cert.shの書き換え
KEY=/etc/nginx/certs/server.key
CERT=/etc/nginx/certs/server.pem
↓
KEY=/etc/certs/dev.webtools.ruka.app+2-key.pem
CERT=/etc/certs/dev.webtools.ruka.app+2.pem
vendor/ryoluo/sail-ssl/nginx/templates/default.conf.templateの書き換え
ssl_certificate /etc/nginx/certs/server.pem;
ssl_certificate_key /etc/nginx/certs/server.key;
↓
ssl_certificate /etc/certs/dev.webtools.ruka.app+2.pem;
ssl_certificate_key /etc/certs/dev.webtools.ruka.app+2-key.pem;
確認
./vendor/bin/sail down
./vendor/bin/sail up -d
を実行し、ブラウザでdev.webtools.ruka.app
を開き、SSLエラーが出なければ完了です。
コメント