Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

背景

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

ProjectEuropa
PHPとかJavaScriptとか
yyphp
PHPerが毎週集まり、ざっくばらんに情報交換する雑談コミュニティ
https://yyphp.connpass.com/
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