Sign inSign up

gekal/nginx-local-domains

By gekal

•Updated 11 days ago

Wildcard TLS certificates for local.gekal.cn and local.loversoft.cn

Image
0

1.4K

gekal/nginx-local-domains repository overview

⁠nginx-local-domains

local.gekal.cn と local.loversoft.cn のワイルドカードTLS証明書を配布するための Nginxイメージです。

このイメージには秘密鍵が含まれます。Docker Hubリポジトリを必ずprivateにし、 利用者とアクセストークンを適切に制限してください。

⁠タグ

対象ドメインバージョン付きタグ最新タグ
local.gekal.cn / *.local.gekal.cnyy.mm.dd-gekal.<build number>latest-gekal
local.loversoft.cn / *.local.loversoft.cnyy.mm.dd-loversoft.<build number>latest-loversoft

例: 26.07.15-gekal.42

各タグは linux/amd64 と linux/arm64 に対応したマルチアーキテクチャイメージです。 通常は実行環境に合うイメージが自動的に選択されます。

⁠格納ファイル

各タグには、対応するドメインの証明書だけが含まれます。

/etc/nginx/certs/<domain>/fullchain.pem
/etc/nginx/certs/<domain>/privkey.pem

もう一方のドメインの証明書と、管理用の expiry.txt は含まれません。 公式 Nginx イメージの起動設定を継承しているため、そのままコンテナとして起動できます。 既定では Nginx のデフォルトページを HTTP で配信します。格納された証明書で TLS 配信するには、 /etc/nginx/certs/<domain>/fullchain.pem と /etc/nginx/certs/<domain>/privkey.pem を参照する設定を追加してください。

各イメージには証明書情報をOCIラベルとして記録しています。

ラベル内容
io.gekal.certificate.domain対象ドメイン
io.gekal.certificate.expires証明書の有効期限(ISO 8601 / UTC)

⁠使い方

⁠1. Docker Hubへログイン

privateリポジトリのため、最初にDocker Hubへログインします。

docker login
docker pull gekal/nginx-local-domains:latest-gekal
⁠2. Nginx設定を組み込む

このイメージをベースに、証明書を参照する Nginx 設定を追加します。

local.gekal.cn の例:

ARG CERT_TAG=latest-gekal
FROM gekal/nginx-local-domains:${CERT_TAG}
COPY default.conf /etc/nginx/conf.d/default.conf

default.conf の例:

server {
    listen 80;
    server_name local.gekal.cn *.local.gekal.cn;

    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name local.gekal.cn *.local.gekal.cn;

    ssl_certificate /etc/nginx/certs/local.gekal.cn/fullchain.pem;
    ssl_certificate_key /etc/nginx/certs/local.gekal.cn/privkey.pem;

    location / {
        root /usr/share/nginx/html;
        index index.html;
    }
}

ビルドして起動します。

docker build --build-arg CERT_TAG=latest-gekal -t my-local-nginx .
docker run --rm -p 80:80 -p 443:443 my-local-nginx

local.loversoft.cn を利用する場合は、loversoft用タグとパスへ置き換えます。

ARG CERT_TAG=latest-loversoft
FROM gekal/nginx-local-domains:${CERT_TAG}
COPY default.conf /etc/nginx/conf.d/default.conf

⁠更新方法

証明書の更新時に新しいバージョン付きタグが作成され、対応する latest-gekal または latest-loversoft も更新されます。再現可能なビルドにはバージョン付きタグを、 常に最新の証明書を取得する用途にはドメイン別の最新タグを使用してください。

Tag summary

Content type

Image

Digest

sha256:a78dd3a49…

Size

69 MB

Last updated

11 days ago

docker pull gekal/nginx-local-domains:latest-loversoft