Skip to main content

certbot-dns-azure-modern

Tests Version Python Version Docs

Azure DNS authenticator plugin for Certbot: it completes the ACME dns-01 challenge with TXT records in Azure DNS, including wildcard certificates. Maintained, drop-in replacement for the upstream package certbot-dns-azure.

Pick your path

  • Nginx Proxy Manager 2.16 or later: nothing to install, choose "Azure" as DNS provider. See the Nginx Proxy Manager guide.
  • Certbot on a server or in a container: see the quick start below.
  • Coming from certbot-dns-azure: see Switching from certbot-dns-azure; config files keep working.

Quick start

pip install certbot certbot-dns-azure-modern

Create /etc/letsencrypt/azure.ini (chmod 600) with the credentials of a service principal that has the "DNS Zone Contributor" role on the zone, and map each zone to its resource group:

dns_azure_sp_client_id = <client-id>
dns_azure_sp_client_secret = <client-secret>
dns_azure_tenant_id = <tenant-id>

dns_azure_zone1 = example.com:/subscriptions/<subscription-id>/resourceGroups/<resource-group>
certbot certonly -a dns-azure --dns-azure-config /etc/letsencrypt/azure.ini \
  -d example.com -d '*.example.com'

The quick start in the docs shows how to create the identity.

Features

  • Service principals (secret or certificate), managed identities, workload identity and the Azure CLI
  • Any number of zones across subscriptions, and separate credentials per zone, also across Entra ID tenants
  • Azure public cloud, Azure US Government and Azure China
  • DNS delegation via CNAME, and write access limited to a single TXT record

Compatibility

Python 3.10 or newer, certbot 3.0 or newer (no upper bound, so pip never downgrades your certbot), azure-mgmt-dns 8.x and 9.x.

Documentation

cloudchristoph.github.io/certbot-dns-azure-modern: authentication, configuration, DNS delegation, troubleshooting, changelog.

About this fork

The upstream package terricain/certbot-dns-azure (last release 2.6.1, December 2024) pins certbot<4.0, so installing it next to a current certbot downgrades certbot and breaks it. This fork removes the pin and keeps the module, plugin name dns-azure, options and config format unchanged. Nginx Proxy Manager switched to it in 2.16.0.

Metadata

Release files for certbot-dns-azure-modern 2.8.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for certbot-dns-azure-modern 2.8.1
File Size Uploaded
certbot_dns_azure_modern-2.8.1.tar.gz 39.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for certbot-dns-azure-modern 2.8.1
File Interpreter ABI Platform
certbot_dns_azure_modern-2.8.1-py3-none-any.whl Python 3 none any Details

Total release size: 54.4 kB

Release files / certbot_dns_azure_modern-2.8.1.tar.gz

Download URL certbot_dns_azure_modern-2.8.1.tar.gz
Size 39.9 kB
Tags Source
SHA-256 checksum
How to use checksums
b10a1f5ade77e127e54db0169b9b397da75941e7fa97ed650d1f349f35158d0b
BLAKE2b-256 checksum
How to use checksums
663f6921b67239904e9c21980cc9f3434537f87ac53638a84109c404a0042fe5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / certbot_dns_azure_modern-2.8.1-py3-none-any.whl

Download URL certbot_dns_azure_modern-2.8.1-py3-none-any.whl
Size 14.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
383cece5cdb96b6aa374fac49ca1947daaa6c9e99434b374d02187a98c4c5871
BLAKE2b-256 checksum
How to use checksums
0e6f6cad610033b43d739ee9f091481174f5f07dd9c5c2a797e13588016eed3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.8.1 This release

2 release files

2.8.0

2 release files

2.7.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page