背景
mkcertを使ってローカル環境でもDockerでも楽々SSLはApacheだったので、Nginx版です。
mkcertのインストール
mkcertのインストールはmkcertを使ってローカル環境でもDockerでも楽々SSLと一緒です。
brew install mkcert
mkcert -install
mkcert localhost 127.0.0.1
localhost+1.pem
localhost+1-key.pem
が生成される。
./cert-key/localhost.pem
./cert-key/localhost-key.pem
に置いておきましょう。
名称は何でもいいですが、
ここではlocalhost+1.pemからlocalhost.pem
localhost+1-key.pemからlocalhost-key.pem
に名称を変えています。
docker-compose.ymlの記述
docker-compose.yml
version: "3"
services:
nginx:
build: ./
ports:
- 80:80
- 443:443
Dockerfileの記述
FROM nginx:alpine
COPY nginx.conf /etc/nginx/nginx.conf
ADD ./cert-key/localhost.pem /etc/certs/localhost.pem
ADD ./cert-key/localhost-key.pem /etc/certs/localhost-key.pem
nginx.confの記述
events{
}
http{
server {
listen 80 default;
server_name localhost;
}
server {
listen 443 ssl;
ssl_certificate /etc/certs/localhost.pem;
ssl_certificate_key /etc/certs/localhost-key.pem;
}
}
events
がないと
no "events" section in configuration
とエラーがでます。
docker-compose の起動
docker-compose build
docker-compose up -d
でdocker-composeを起動する。
localhostにアクセスしてhttpsでも表示できれば成功。