17
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

Organization

Nginx版:mkcertを使ってローカル環境でもDockerでも楽々SSL

背景

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でも表示できれば成功。

スクリーンショット 2019-07-29 13.55.34.png

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
17
Help us understand the problem. What are the problem?