【Docker】apacheにHTTPSを追加する方法

Logo - ©Docker, Inc. 2013 Apache License 2.0

HTTPSの追加コマンド

apacheがインストール済みのイメージであれば、以下を追加するだけ。サーバ証明書の作成もコマンド内で完結する。

【dockerfile】

# HTTPS有効化
RUN apt-get install ssl-cert
RUN make-ssl-cert generate-default-snakeoil
RUN a2enmod ssl
RUN a2ensite default-ssl
RUN apachectl restart

【docker-compose.yml】

services:
  php:
    ports:
      - 8443:443

ちなみに「snakeoil」とは「万能と謳った怪しげな薬」的な意味合いで、サンプルとしてapacheにインストールされている証明書の名称でもある。

サンプル

PHP公式イメージに、HTTPSを追加するサンプル。

【dockerfile】

FROM php:7.4.25-apache

# 時刻設定
RUN ln -sf  /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

# apt最新化
RUN apt-get update

# PHPの関連資材をインストール
RUN apt-get -y install libonig-dev
RUN apt-get -y install libzip-dev
RUN docker-php-ext-install zip
RUN docker-php-ext-install mysqli
RUN docker-php-ext-enable mysqli
RUN docker-php-ext-install pdo_mysql

# HTTPS有効化
RUN apt-get install ssl-cert
RUN make-ssl-cert generate-default-snakeoil
RUN a2enmod ssl
RUN a2ensite default-ssl

# apache設定有効化
RUN apachectl restart

【docker-compose.yml】

version: '3'

services:
  php:
    build: ./docker_config/php
    volumes:
      - ./html:/var/www/html
    ports:
      - 8000:80
      - 8443:443
    container_name: php7.4.25
タイトルとURLをコピーしました