certbot-dns-azure-modern
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)
| File | Size | Uploaded | |
|---|---|---|---|
| certbot_dns_azure_modern-2.8.1.tar.gz | 39.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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