HTTPS 専用ブラウザ、SameSite Cookie、現実的な開発条件の時代では、実際の SSL 証明書を使用してローカルで作業することが重要です。 Let's Encrypt はここで先駆的な取り組みを行っており、 certbotとCloudflareの支援により、ワイルドカード証明書の作成と更新が迅速かつ簡単に行えます。これにより、ローカル ネットワーク内または VPN 経由で、任意のデバイス (スマートフォン、VM など) で暗号化された Web プロジェクトにアクセスできるようになります。
まず、開発者ドメインをCloudflareに登録します。 vielhuber.dev
:

このドメインが自身のローカルIPアドレスを指すようにします(例: 192.168.0.2
) 見せる。これを行うには、次のDNS Aレコードを作成します(重要:プロキシステータスは グレー/DNSのみ 設定される):
タイプ | 名前 | コンテンツ |
---|---|---|
あ | @ | 192.168.0.2 |
あ | * | 192.168.0.2 |
ワイルドカード証明書を検証するには、TXT レコードを自動的に設定する必要があります。これを実行するには、APIトークンを作成します(プロファイル > APIトークン > トークンの作成 > テンプレート: ゾーンDNSの編集)そしてドメインを選択します。:

最後に、 certbotをセットアップします:
sudo apt install certbot python3-certbot-dns-cloudflare
pip install --upgrade pyOpenSSL cryptography certbot certbot-dns-cloudflare
ここで、以前に生成したAPIトークンを預けます:
mkdir -p ~/.secrets/certbot
nano ~/.secrets/certbot/cloudflare.ini
dns_cloudflare_api_token = YOUR_CLOUDFLARE_API_TOKEN_WITH_EDIT_ZONE_DNS_PERMISSIONS
chmod 600 ~/.secrets/certbot/cloudflare.ini
最後に証明書を要求します:
certbot certonly \
--dns-cloudflare \
--dns-cloudflare-credentials ~/.secrets/certbot/cloudflare.ini \
--dns-cloudflare-propagation-seconds 60 \
-d '*.vielhuber.dev' -d vielhuber.dev \
--agree-tos \
--email david@vielhuber.de \
--non-interactive
自動更新もすぐに設定できます。 certbotが12時間ごとにランダムな時間に自動的に実行されるのを防ぐため、まず標準スクリプトを無効にして、独自のスクリプトを追加します。:
sudo mv /etc/cron.d/certbot /etc/cron.d/certbot.disabled
( crontab -l 2>/dev/null; echo "0 12 * * * certbot renew --quiet" ) | crontab -
certbot renew --dry-run
必要なのはこれだけです: Apache に統合するには、プロジェクトの Apache 構成で作成した証明書を参照します (例: /etc/apache2/sites-available/project-xy.conf
):
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/vielhuber.dev/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/vielhuber.dev/privkey.pem
Apacheの再起動後(sudo systemctl reload apache2
)証明書はすでに有効になっており、プロジェクトにアクセスできるようになります。 https://project-xy.vielhuber.dev.
少しの初期作業で、現実的なだけでなく、最新のブラウザ、API、デバイスとシームレスに連携する実際のワイルドカード証明書を使用したローカル開発環境を構築できます。 DNS-01 検証により、パブリックにアクセス可能なサーバーや手動での証明書要求は不要になり、すべてが自動化され、安全かつ信頼性が高まります。