OpenWebUI
Container Deployment Script/Template
tip
Details
\docs\web\OpenWebUI\assets\files\openwebuidev_arm_template_with_oauth.json
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.ContainerInstance/containerGroups",
"apiVersion": "2021-09-01",
"name": "openwebuidev",
"location": "westeurope",
"properties": {
"containers": [
{
"name": "openwebuidev",
"properties": {
"image": "ghcr.io/open-webui/open-webui:main",
"resources": {
"requests": {
"cpu": 1.0,
"memoryInGb": 1.5
}
},
"ports": [
{
"port": 80
},
{
"port": 3000
},
{
"port": 8080
}
],
"environmentVariables": [
{
"name": "WEBUI_URL",
"value": "https://chat.keesing.ai/"
},
{
"name": "ENABLE_OAUTH_SIGNUP",
"value": "true"
},
{
"name": "MICROSOFT_CLIENT_ID",
"value": "6ace5811-1630-4885-9036-829fc0f860c6"
},
{
"name": "MICROSOFT_CLIENT_SECRET",
"secureValue": "yud8Q~imWratC._Cp2r-xlK9qam5MrIVc.YJGdmX"
},
{
"name": "MICROSOFT_CLIENT_TENANT_ID",
"value": "3d93d201-da81-4616-a595-bb0c944ca828"
},
{
"name": "MICROSOFT_REDIRECT_URI",
"value": "https://chat.keesing.ai/oauth/microsoft/callback"
},
{
"name": "OPENID_PROVIDER_URL",
"value": "https://chat.keesing.ai/logout"
}
],
"volumeMounts": [
{
"name": "openwebuivolume",
"mountPath": "/app/backend/data"
}
]
}
}
],
"osType": "Linux",
"ipAddress": {
"type": "Private",
"ports": [
{
"protocol": "tcp",
"port": 80
},
{
"protocol": "tcp",
"port": 3000
},
{
"protocol": "tcp",
"port": 8080
}
]
},
"volumes": [
{
"name": "openwebuivolume",
"azureFile": {
"shareName": "openwebuidata",
"storageAccountName": "kmgopenwebuidata",
"storageAccountKey": "sOKVp6gu2IjS2zMaZkUNKjsUQMq46wlGH3gW98zx33amrKERyZaLGCxLhqg8MAZohsgkI9NFk582+AStJnFHBA=="
}
}
],
"subnetIds": [
{
"id": "/subscriptions/c192f809-f6a4-4462-969a-00ddb9ba8354/resourceGroups/KMG_Resource_Group/providers/Microsoft.Network/virtualNetworks/KMG_Azure_Network/subnets/default2"
}
]
}
}
]
}
Container Information
| Name | IP Address |
|---|---|
Nginx
Nginx Configuration
info
Details
/etc/nginx/conf.d/openwebui.conf
server {
listen 443 ssl;
http2 on;
server_name chat.keesing.ai;
# Cloudflare Origin Certificate (ΜΟΝΟ για Cloudflare->Origin)
# ssl_certificate /etc/ssl/internal/chat.keesing.ai.crt;
# ssl_certificate_key /etc/ssl/internal/chat.keesing.ai.key;
# ssl_certificate /etc/ssl/cloudflare/origin.crt;
# ssl_certificate_key /etc/ssl/cloudflare/origin.key;
ssl_certificate /etc/letsencrypt/live/keesing.ai/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/keesing.ai/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
# Increase if large files are being transferred
client_max_body_size 50m;
location / {
# === PUT INTERNAL IP HERE ===
# π.χ. http://127.0.0.1:8080 ή http://192.168.1.100:8080
proxy_pass http://10.50.3.5:8080;
# WebSockets/HTTP1.1
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Forwarded headers
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# Timeouts/Buffering
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
proxy_buffers 64 32k;
proxy_busy_buffers_size 64k;
}
}
# HTTP → HTTPS redirect
server {
listen 80;
server_name chat.keesing.ai;
return 301 https://$host$request_uri;
}
SSL Certificates
Certbot is running on the nginx machine(10.50.1.15/24).
Certbot | Manual Configuration
info
Details
Run Certbot
kmgadmin@nginx:/etc/letsencrypt$ sudo certbot certonly \
--dns-cloudflare \
--dns-cloudflare-credentials /etc/letsencrypt/.secrets/cloudflare.ini \
-d "*.keesing.ai" -d "keesing.ai" \
--agree-tos --email ict-amsterdam@keesing.com --non-interactive
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Account registered.
Requesting a certificate for *.keesing.ai and keesing.ai
Waiting 10 seconds for DNS changes to propagate
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/keesing.ai/fullchain.pem
Key is saved at: /etc/letsencrypt/live/keesing.ai/privkey.pem
This certificate expires on 2025-11-16.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Show Certificates
info
kmgadmin@nginx:~$ sudo certbot certificates
Saving debug log to /var/log/letsencrypt/letsencrypt.log
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
Certificate Name: keesing.ai
Serial Number: 57d171c7c123ab57312a81b033d533966e8
Key Type: ECDSA
Domains: *.keesing.ai keesing.ai
Expiry Date: 2025-11-16 09:56:19+00:00 (VALID: 89 days)
Certificate Path: /etc/letsencrypt/live/keesing.ai/fullchain.pem
Private Key Path: /etc/letsencrypt/live/keesing.ai/privkey.pem
- - - - - -

Certbot Timers and Schedules
info
Details
systemctl list-timers | grep certbot
kmgadmin@nginx:~$ systemctl list-timers | grep certbot
Mon 2025-08-18 18:46:11 UTC 7h -
- certbot.timer certbot.service
kmgadmin@nginx:~$ systemctl status certbot.timer
● certbot.timer - Run certbot twice daily
Loaded: loaded (/usr/lib/systemd/system/certbot.timer; enabled; preset: enabled)
Active: active (waiting) since Mon 2025-08-18 10:46:03 UTC; 51min ago
Trigger: Mon 2025-08-18 18:46:11 UTC; 7h left
Triggers: ● certbot.service
Aug 18 10:46:03 nginx systemd[1]: Started certbot.timer - Run certbot twice daily.
kmgadmin@nginx:~$ systemctl status certbot.service
○ certbot.service - Certbot
Loaded: loaded (/usr/lib/systemd/system/certbot.service; static)
Active: inactive (dead)
TriggeredBy: ● certbot.timer
Docs: file:///usr/share/doc/python-certbot-doc/html/index.html
https://certbot.eff.org/docs
systemctl list-timers --all
kmgadmin@nginx:~$ systemctl list-timers --all
NEXT LEFT LAST PASSED UNIT ACTIVATES
Mon 2025-08-18 11:50:00 UTC 9min Mon 2025-08-18 11:40:06 UTC 32ms ago sysstat-collect.timer sysstat-collect.service
Mon 2025-08-18 12:58:34 UTC 1h 18min Mon 2025-08-18 11:18:53 UTC 21min ago fwupd-refresh.timer fwupd-refresh.service
Mon 2025-08-18 14:32:53 UTC 2h 52min Sun 2025-08-17 14:32:53 UTC 21h ago update-notifier-download.timer update-notifier-download.service
Mon 2025-08-18 14:42:55 UTC 3h 2min Sun 2025-08-17 14:42:55 UTC 20h ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service
Mon 2025-08-18 17:02:01 UTC 5h 21min Mon 2025-08-18 11:08:32 UTC 31min ago motd-news.timer motd-news.service
Mon 2025-08-18 18:46:11 UTC 7h - - certbot.timer certbot.service
Mon 2025-08-18 22:41:05 UTC 11h Mon 2025-08-18 09:14:31 UTC 2h 25min ago apt-daily.timer apt-daily.service
Tue 2025-08-19 00:00:00 UTC 12h Mon 2025-08-18 00:00:17 UTC 11h ago dpkg-db-backup.timer dpkg-db-backup.service
Tue 2025-08-19 00:00:00 UTC 12h Mon 2025-08-18 00:00:17 UTC 11h ago logrotate.timer logrotate.service
Tue 2025-08-19 00:07:00 UTC 12h Mon 2025-08-18 00:07:17 UTC 11h ago sysstat-summary.timer sysstat-summary.service
Tue 2025-08-19 06:16:55 UTC 18h Mon 2025-08-18 06:57:47 UTC 4h 42min ago apt-daily-upgrade.timer apt-daily-upgrade.service
Tue 2025-08-19 09:39:11 UTC 21h Mon 2025-08-18 10:46:02 UTC 54min ago man-db.timer man-db.service
Sun 2025-08-24 03:10:19 UTC 5 days Sun 2025-08-17 03:10:56 UTC 1 day 8h ago e2scrub_all.timer e2scrub_all.service
Mon 2025-08-25 01:22:35 UTC 6 days Mon 2025-08-18 00:33:05 UTC 11h ago fstrim.timer fstrim.service
Mon 2025-08-25 18:57:40 UTC 1 week 0 days Mon 2025-08-18 00:38:53 UTC 11h ago update-notifier-motd.timer update-notifier-motd.service
- - - - apport-autoreport.timer apport-autoreport.service
- - - - snapd.snap-repair.timer snapd.snap-repair.service
- - - - ua-timer.timer ua-timer.service
18 timers listed.

Certbot Logs
info
Details
/var/log/letsencrypt/letsencrypt.log
kmgadmin@nginx:/etc/letsencrypt$ sudo cat /var/log/letsencrypt/letsencrypt.log
2025-08-18 10:54:27,882:DEBUG:certbot._internal.main:certbot version: 2.9.0
2025-08-18 10:54:27,883:DEBUG:certbot._internal.main:Location of certbot entry point: /usr/bin/certbot
2025-08-18 10:54:27,883:DEBUG:certbot._internal.main:Arguments: ['--dns-cloudflare', '--dns-cloudflare-credentials', '/etc/letsencrypt/.secrets/cloudflare.ini', '-d', '*.keesing.ai', '-d', 'keesing.ai', '--agree-tos', '--email', 'ict-amsterdam@keesing.com', '--non-interactive']
2025-08-18 10:54:27,883:DEBUG:certbot._internal.main:Discovered plugins: PluginsRegistry(PluginEntryPoint#dns-cloudflare,PluginEntryPoint#manual,PluginEntryPoint#null,PluginEntryPoint#standalone,PluginEntryPoint#webroot)
2025-08-18 10:54:27,891:DEBUG:certbot._internal.log:Root logging level set at 30
2025-08-18 10:54:27,892:DEBUG:certbot._internal.plugins.selection:Requested authenticator dns-cloudflare and installer None
2025-08-18 10:54:27,892:DEBUG:certbot._internal.plugins.selection:Single candidate plugin: * dns-cloudflare
Description: Obtain certificates using a DNS TXT record (if you are using Cloudflare for DNS).
Interfaces: Authenticator, Plugin
Entry point: EntryPoint(name='dns-cloudflare', value='certbot_dns_cloudflare._internal.dns_cloudflare:Authenticator', group='certbot.plugins')
Initialized: <certbot_dns_cloudflare._internal.dns_cloudflare.Authenticator object at 0x7638ee5b4380>
Prep: True
2025-08-18 10:54:27,892:DEBUG:certbot._internal.plugins.selection:Selected authenticator <certbot_dns_cloudflare._internal.dns_cloudflare.Authenticator object at 0x7638ee5b4380> and installer None
2025-08-18 10:54:27,892:INFO:certbot._internal.plugins.selection:Plugins selected: Authenticator dns-cloudflare, Installer None
2025-08-18 10:54:28,125:DEBUG:acme.client:Sending GET request to https://acme-v02.api.letsencrypt.org/directory.
2025-08-18 10:54:28,127:DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org:443
2025-08-18 10:54:28,564:DEBUG:urllib3.connectionpool:https://acme-v02.api.letsencrypt.org:443 "GET /directory HTTP/1.1" 200 995
2025-08-18 10:54:28,564:DEBUG:acme.client:Received response:
HTTP 200
Server: nginx
Date: Mon, 18 Aug 2025 10:54:28 GMT
Content-Type: application/json
Content-Length: 995
Connection: keep-alive
Cache-Control: public, max-age=0, no-cache
X-Frame-Options: DENY
Strict-Transport-Security: max-age=604800
{
"XqNqNZ4c1pI": "https://community.letsencrypt.org/t/adding-random-entries-to-the-directory/33417",
"keyChange": "https://acme-v02.api.letsencrypt.org/acme/key-change",
"meta": {
"caaIdentities": [
"letsencrypt.org"
],
"profiles": {
"classic": "https://letsencrypt.org/docs/profiles#classic",
"shortlived": "https://letsencrypt.org/docs/profiles#shortlived (not yet generally available)",
"tlsserver": "https://letsencrypt.org/docs/profiles#tlsserver"
},
"termsOfService": "https://letsencrypt.org/documents/LE-SA-v1.5-February-24-2025.pdf",
"website": "https://letsencrypt.org"
},
"newAccount": "https://acme-v02.api.letsencrypt.org/acme/new-acct",
"newNonce": "https://acme-v02.api.letsencrypt.org/acme/new-nonce",
"newOrder": "https://acme-v02.api.letsencrypt.org/acme/new-order",
"renewalInfo": "https://acme-v02.api.letsencrypt.org/acme/renewal-info",
"revokeCert": "https://acme-v02.api.letsencrypt.org/acme/revoke-cert"
}
2025-08-18 10:54:28,564:DEBUG:acme.client:Requesting fresh nonce
2025-08-18 10:54:28,565:DEBUG:acme.client:Sending HEAD request to https://acme-v02.api.letsencrypt.org/acme/new-nonce.
2025-08-18 10:54:28,706:DEBUG:urllib3.connectionpool:https://acme-v02.api.letsencrypt.org:443 "HEAD /acme/new-nonce HTTP/1.1" 200 0
2025-08-18 10:54:28,706:DEBUG:acme.client:Received response:
HTTP 200
Server: nginx
Date: Mon, 18 Aug 2025 10:54:28 GMT
Connection: keep-alive
Cache-Control: public, max-age=0, no-cache
Link: <https://acme-v02.api.letsencrypt.org/directory>;rel="index"
Replay-Nonce: 9_RDYWV0WMZL2A5R38RQ9TrJvqdWz4txCxzKdmCHu8rmpyLeZw0
X-Frame-Options: DENY
Strict-Transport-Security: max-age=604800
2025-08-18 10:54:28,706:DEBUG:acme.client:Storing nonce: 9_RDYWV0WMZL2A5R38RQ9TrJvqdWz4txCxzKdmCHu8rmpyLeZw0
2025-08-18 10:54:28,707:DEBUG:acme.client:JWS payload:
b'{\n "contact": [\n "mailto:ict-amsterdam@keesing.com"\n ],\n "termsOfServiceAgreed": true\n}'
2025-08-18 10:54:28,711:DEBUG:acme.client:Sending POST request to https://acme-v02.api.letsencrypt.org/acme/new-acct:
{
"protected": "eyJhbGciOiAiUlMyNTYiLCAiandrIjogeyJuIjogInNWd2UyUDE5TVdaNDEwQjNGMWZCWmNYV3ZNVGk0bk9PenhiQWZnekdweEpCdS1MRzczeGU4S2NZYjljY29zVGVZbXJabldrUzV0V2tWWXhZVzlPSWpGWC1pU0xIQTBPWlVYOUlTWWlSZHBrUmlkVEdWMWxGVHBGX1hONzUtVUdqbkRRX1EzNHRRYzRINFp5djNEQVhBdlNPcktlN2EzamVGcDByMjBWcUJwQmdlRUE0am1KdTNDN0FoRFMxVEh6cjVOd0lHNHdaRmc0NVNsVTg3NTZiYlZXeEJtWEVNQk82Tjd5bVA4VlBaVmdFUDBDTlhZRU1FSGZwSkwwS29fRF8ydV9HM2xhSDhVYjJRcHhZZDdWYUk1R3ZGc0pBSHpLU2hacW5ROGM5RU5CM2R1dUptZFp3MFgtRkVEVGFFTWhUU3RvaXA3eml2dzVDWGZRbk9lU2tVUSIsICJlIjogIkFRQUIiLCAia3R5IjogIlJTQSJ9LCAibm9uY2UiOiAiOV9SRFlXVjBXTVpMMkE1UjM4UlE5VHJKdnFkV3o0dHhDeHpLZG1DSHU4cm1weUxlWncwIiwgInVybCI6ICJodHRwczovL2FjbWUtdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9uZXctYWNjdCJ9",
"signature": "MkvrahWCA6noax7QwO87itRYj-AsoXJ_vr2VWgOwwpwdWbLS-ySdkQySBexgVR2r8IlO-fj9iyBJCZHsgdyV8VyTBqZbc1W6yBwegAUaIsbWEiLSfTCQRe9ox52izc7bB1fea35B11Dyme3VeBaa9iKhiiH8vCSHslPuO5PcWcZce1UDsSdKRK2aoW4B9pu76ie875QBSeY2CGlWzCmsvvdVuXReObNP-D2p2F_B2okRsz1Ti6bzUnRihKRsS8Jf0FDwrdkz0wUFASfNh2-Waq3u2WuvVOjhkBBEt4PokNPJZ2M5AWxC92ufz8xO0JqxhWXs-6xPJRQQojhCSvIfDw",
"payload": "ewogICJjb250YWN0IjogWwogICAgIm1haWx0bzppY3QtYW1zdGVyZGFtQGtlZXNpbmcuY29tIgogIF0sCiAgInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjogdHJ1ZQp9"
}
2025-08-18 10:54:29,095:DEBUG:urllib3.connectionpool:https://acme-v02.api.letsencrypt.org:443 "POST /acme/new-acct HTTP/1.1" 201 475
2025-08-18 10:54:29,095:DEBUG:acme.client:Received response:
HTTP 201
Server: nginx
Date: Mon, 18 Aug 2025 10:54:29 GMT
Content-Type: application/json
Content-Length: 475
Connection: keep-alive
Boulder-Requester: 2602949117
Cache-Control: public, max-age=0, no-cache
Link: <https://acme-v02.api.letsencrypt.org/directory>;rel="index", <https://letsencrypt.org/documents/LE-SA-v1.5-February-24-2025.pdf>;rel="terms-of-service"
Location: https://acme-v02.api.letsencrypt.org/acme/acct/2602949117
Replay-Nonce: 9_RDYWV0uo4cWzQsjpNRWcoMEsA42EuR_lmXybqjgw9X4vKqp7c
X-Frame-Options: DENY
Strict-Transport-Security: max-age=604800
{
"key": {
"kty": "RSA",
"n": "sVwe2P19MWZ410B3F1fBZcXWvMTi4nOOzxbAfgzGpxJBu-LG73xe8KcYb9ccosTeYmrZnWkS5tWkVYxYW9OIjFX-iSLHA0OZUX9ISYiRdpkRidTGV1lFTpF_XN75-UGjnDQ_Q34tQc4H4Zyv3DAXAvSOrKe7a3jeFp0r20VqBpBgeEA4jmJu3C7AhDS1THzr5NwIG4wZFg45SlU8756bbVWxBmXEMBO6N7ymP8VPZVgEP0CNXYEMEHfpJL0Ko_D_2u_G3laH8Ub2QpxYd7VaI5GvFsJAHzKShZqnQ8c9ENB3duuJmdZw0X-FEDTaEMhTStoip7zivw5CXfQnOeSkUQ",
"e": "AQAB"
},
"createdAt": "2025-08-18T10:54:29.0254457Z",
"status": "valid"
}
2025-08-18 10:54:29,096:DEBUG:acme.client:Storing nonce: 9_RDYWV0uo4cWzQsjpNRWcoMEsA42EuR_lmXybqjgw9X4vKqp7c
2025-08-18 10:54:29,105:DEBUG:certbot._internal.display.obj:Notifying user: Account registered.
2025-08-18 10:54:29,105:DEBUG:certbot._internal.main:Picked account: <Account(RegistrationResource(body=Registration(key=JWKRSA(key=<ComparableRSAKey(<cryptography.hazmat.backends.openssl.rsa._RSAPublicKey object at 0x7638ec9ebf50>)>), contact=(), agreement=None, status='valid', terms_of_service_agreed=None, only_return_existing=None, external_account_binding=None), uri='https://acme-v02.api.letsencrypt.org/acme/acct/2602949117', new_authzr_uri=None, terms_of_service='https://letsencrypt.org/documents/LE-SA-v1.5-February-24-2025.pdf'), 603413b670468a93f7d3df36a9c4fb37, Meta(creation_dt=datetime.datetime(2025, 8, 18, 10, 54, 29, tzinfo=<UTC>), creation_host='nginx.internal.cloudapp.net', register_to_eff=None))>
2025-08-18 10:54:29,106:DEBUG:certbot._internal.display.obj:Notifying user: Requesting a certificate for *.keesing.ai and keesing.ai
2025-08-18 10:54:29,112:DEBUG:acme.client:JWS payload:
b'{\n "identifiers": [\n {\n "type": "dns",\n "value": "*.keesing.ai"\n },\n {\n "type": "dns",\n "value": "keesing.ai"\n }\n ]\n}'
2025-08-18 10:54:29,114:DEBUG:acme.client:Sending POST request to https://acme-v02.api.letsencrypt.org/acme/new-order:
{
"protected": "eyJhbGciOiAiUlMyNTYiLCAia2lkIjogImh0dHBzOi8vYWNtZS12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMjYwMjk0OTExNyIsICJub25jZSI6ICI5X1JEWVdWMHVvNGNXelFzanBOUldjb01Fc0E0MkV1Ul9sbVh5YnFqZ3c5WDR2S3FwN2MiLCAidXJsIjogImh0dHBzOi8vYWNtZS12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL25ldy1vcmRlciJ9",
"signature": "KZcCotJHpuyzRXvQ1xMQpUu3bQS7bNTIlGyo-7xMnBbwCbwtGieQqMFTPP2UyCu4EZl0taOe0oUnfi98saB47NEzMwqhNYHEQYLpOJnNV_feIQJMxHvQ4ZOFju4Aej46KiudTwuNk4hDThvEygtG8o6YCMzdPKArGlCOfy6-JHVObJcRl8MRVkLO28zS4WCbVGj3LMS97wP-7c8QS01LV1GRLDkSbFbo4R5hh_40WnfbB9bVhvIyJMfEe00LAWE-b_RQAi2Oe1zv08EmHuXNA1CX8EleX_Al8Gsa0l27Et258xq7ZiQKMWSmrsXr9N44n5YDq40coxAMiOR1ceBunA",
"payload": "ewogICJpZGVudGlmaWVycyI6IFsKICAgIHsKICAgICAgInR5cGUiOiAiZG5zIiwKICAgICAgInZhbHVlIjogIioua2Vlc2luZy5haSIKICAgIH0sCiAgICB7CiAgICAgICJ0eXBlIjogImRucyIsCiAgICAgICJ2YWx1ZSI6ICJrZWVzaW5nLmFpIgogICAgfQogIF0KfQ"
}
2025-08-18 10:54:29,318:DEBUG:urllib3.connectionpool:https://acme-v02.api.letsencrypt.org:443 "POST /acme/new-order HTTP/1.1" 201 487
2025-08-18 10:54:29,319:DEBUG:acme.client:Received response:
HTTP 201
Server: nginx
Date: Mon, 18 Aug 2025 10:54:29 GMT
Content-Type: application/json
Content-Length: 487
Connection: keep-alive
Boulder-Requester: 2602949117
Cache-Control: public, max-age=0, no-cache
Link: <https://acme-v02.api.letsencrypt.org/directory>;rel="index"
Location: https://acme-v02.api.letsencrypt.org/acme/order/2602949117/419121890097
Replay-Nonce: trI9TC2kNCGvxRf_dHYgL-PuKHws14IIHtBNr1Z9jv8WplN_JUU
X-Frame-Options: DENY
Strict-Transport-Security: max-age=604800
{
"status": "pending",
"expires": "2025-08-25T10:54:29Z",
"identifiers": [
{
"type": "dns",
"value": "*.keesing.ai"
},
{
"type": "dns",
"value": "keesing.ai"
}
],
"authorizations": [
"https://acme-v02.api.letsencrypt.org/acme/authz/2602949117/570688652327",
"https://acme-v02.api.letsencrypt.org/acme/authz/2602949117/570688652337"
],
"finalize": "https://acme-v02.api.letsencrypt.org/acme/finalize/2602949117/419121890097"
}
2025-08-18 10:54:29,319:DEBUG:acme.client:Storing nonce: trI9TC2kNCGvxRf_dHYgL-PuKHws14IIHtBNr1Z9jv8WplN_JUU
2025-08-18 10:54:29,320:DEBUG:acme.client:JWS payload:
b''
2025-08-18 10:54:29,321:DEBUG:acme.client:Sending POST request to https://acme-v02.api.letsencrypt.org/acme/authz/2602949117/570688652327:
{
"protected": "eyJhbGciOiAiUlMyNTYiLCAia2lkIjogImh0dHBzOi8vYWNtZS12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMjYwMjk0OTExNyIsICJub25jZSI6ICJ0ckk5VEMya05DR3Z4UmZfZEhZZ0wtUHVLSHdzMTRJSUh0Qk5yMVo5anY4V3BsTl9KVVUiLCAidXJsIjogImh0dHBzOi8vYWNtZS12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2F1dGh6LzI2MDI5NDkxMTcvNTcwNjg4NjUyMzI3In0",
"signature": "cMt90ZxP_DyVL_1oqYv0eBVOzYl5EKBv7EcJVoNpJt1UWKh0DHbJ1v4Ubp6u9njvH4MBs9aNOy_e9t2GxQxfMA4Q-3fMKwpiZYwh6VbOYWgytfL2NoaEwQkVlGYaJm3y5-NNOHxCiUqT2DJt__oLDi3JcBvbk-jxJ8PQiDfwudBOiEVaYyrYuBkOe9kWDZMPHRfOJLngOf35y7tFZEAFXfFwYRkgrc44ZufvN2VX3BWyQ6o-pxQSE2Ei8MlqaICKlg4R8oMTZnnI8H_xK_SVewTrR3aSthoFJ-8lEDADaOCh0dmLAfogqtp2JHOm8UyGDx0g4nBNKHtmZODYI2DMsA",
"payload": ""
}
2025-08-18 10:54:29,518:DEBUG:urllib3.connectionpool:https://acme-v02.api.letsencrypt.org:443 "POST /acme/authz/2602949117/570688652327 HTTP/1.1" 200 392
2025-08-18 10:54:29,518:DEBUG:acme.client:Received response:
HTTP 200
Server: nginx
Date: Mon, 18 Aug 2025 10:54:29 GMT
Content-Type: application/json
Content-Length: 392
Connection: keep-alive
Boulder-Requester: 2602949117
Cache-Control: public, max-age=0, no-cache
Link: <https://acme-v02.api.letsencrypt.org/directory>;rel="index"
Replay-Nonce: 9_RDYWV0Agn6fiaeCGu7uNzDpBGvF1PRFRVhBhoDMkxr1OWsi0s
X-Frame-Options: DENY
Strict-Transport-Security: max-age=604800
{
"identifier": {
"type": "dns",
"value": "keesing.ai"
},
"status": "pending",
"expires": "2025-08-25T10:54:29Z",
"challenges": [
{
"type": "dns-01",
"url": "https://acme-v02.api.letsencrypt.org/acme/chall/2602949117/570688652327/_vGPTg",
"status": "pending",
"token": "iL2GM5zRyZU3VdbV5id97pPIza6aXMsz3K0ijGgFzEc"
}
],
"wildcard": true
}
2025-08-18 10:54:29,518:DEBUG:acme.client:Storing nonce: 9_RDYWV0Agn6fiaeCGu7uNzDpBGvF1PRFRVhBhoDMkxr1OWsi0s
2025-08-18 10:54:29,519:DEBUG:acme.client:JWS payload:
b''
2025-08-18 10:54:29,520:DEBUG:acme.client:Sending POST request to https://acme-v02.api.letsencrypt.org/acme/authz/2602949117/570688652337:
{
"protected": "eyJhbGciOiAiUlMyNTYiLCAia2lkIjogImh0dHBzOi8vYWNtZS12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMjYwMjk0OTExNyIsICJub25jZSI6ICI5X1JEWVdWMEFnbjZmaWFlQ0d1N3VOekRwQkd2RjFQUkZSVmhCaG9ETWt4cjFPV3NpMHMiLCAidXJsIjogImh0dHBzOi8vYWNtZS12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2F1dGh6LzI2MDI5NDkxMTcvNTcwNjg4NjUyMzM3In0",
"signature": "igRfzEN_h1y3a54mDWFeNlP2igIq30zLeYGp6TmiDxpVFYnAfmHdStD0po_vpjvoR_zlPPn58-JsyPicJK1ZqoRRYAyv3vkBtudxO382b-u1RMDC1Qnd8bvaf2jPAJcTHr14TjoV7ABy2c6o8t0oW47jZe-2nCzzlePfmARivVA9asQQn0WH4c7uzN5qB4PINH4DyGFPUBIe07GR_rtk3yzb5NTpUNwnJ3JEZOMIU4GdluDKZ8xIdA7nIelIGW4R4qXBCinsAfgK_TyyKM_i3kwrShwaw23ngxZnGXSwvDiv-w82NrzOmkmPNKro03kCOP70lhUFp02-XC3gUf2Phw",
"payload": ""
}
2025-08-18 10:54:29,663:DEBUG:urllib3.connectionpool:https://acme-v02.api.letsencrypt.org:443 "POST /acme/authz/2602949117/570688652337 HTTP/1.1" 200 818
2025-08-18 10:54:29,663:DEBUG:acme.client:Received response:
HTTP 200
Server: nginx
Date: Mon, 18 Aug 2025 10:54:29 GMT
Content-Type: application/json
Content-Length: 818
Connection: keep-alive
Boulder-Requester: 2602949117
Cache-Control: public, max-age=0, no-cache
Link: <https://acme-v02.api.letsencrypt.org/directory>;rel="index"
Replay-Nonce: trI9TC2k21h9c7osnt746hSk2vnGPnaWBw11VF0Van-PXDNx0Jk
X-Frame-Options: DENY
Strict-Transport-Security: max-age=604800
{
"identifier": {
"type": "dns",
"value": "keesing.ai"
},
"status": "pending",
"expires": "2025-08-25T10:54:29Z",
"challenges": [
{
"type": "tls-alpn-01",
"url": "https://acme-v02.api.letsencrypt.org/acme/chall/2602949117/570688652337/j0EhJw",
"status": "pending",
"token": "Q4CzSw-ww43WZwen368jaxME6VEeZJeYC14EHm5Z9oA"
},
{
"type": "dns-01",
"url": "https://acme-v02.api.letsencrypt.org/acme/chall/2602949117/570688652337/a8u1ZA",
"status": "pending",
"token": "Q4CzSw-ww43WZwen368jaxME6VEeZJeYC14EHm5Z9oA"
},
{
"type": "http-01",
"url": "https://acme-v02.api.letsencrypt.org/acme/chall/2602949117/570688652337/9L4akQ",
"status": "pending",
"token": "Q4CzSw-ww43WZwen368jaxME6VEeZJeYC14EHm5Z9oA"
}
]
}
2025-08-18 10:54:29,663:DEBUG:acme.client:Storing nonce: trI9TC2k21h9c7osnt746hSk2vnGPnaWBw11VF0Van-PXDNx0Jk
2025-08-18 10:54:29,664:INFO:certbot._internal.auth_handler:Performing the following challenges:
2025-08-18 10:54:29,664:INFO:certbot._internal.auth_handler:dns-01 challenge for keesing.ai
2025-08-18 10:54:29,664:INFO:certbot._internal.auth_handler:dns-01 challenge for keesing.ai
2025-08-18 10:54:29,669:DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): api.cloudflare.com:443
2025-08-18 10:54:30,624:DEBUG:urllib3.connectionpool:https://api.cloudflare.com:443 "GET /client/v4/zones?name=keesing.ai&per_page=1 HTTP/1.1" 200 None
2025-08-18 10:54:30,626:DEBUG:certbot_dns_cloudflare._internal.dns_cloudflare:Found zone_id of 7a2d27b376e0878c88ea54c8d64886ea for keesing.ai using name keesing.ai
2025-08-18 10:54:30,626:DEBUG:certbot_dns_cloudflare._internal.dns_cloudflare:Attempting to add record to zone 7a2d27b376e0878c88ea54c8d64886ea: {'type': 'TXT', 'name': '_acme-challenge.keesing.ai', 'content': 'fqSqTrdY9KKAp1NKMu8ITMYMoSFhink6Sixxs9D4F3Y', 'ttl': 120}
2025-08-18 10:54:31,364:DEBUG:urllib3.connectionpool:https://api.cloudflare.com:443 "POST /client/v4/zones/7a2d27b376e0878c88ea54c8d64886ea/dns_records HTTP/1.1" 200 None
2025-08-18 10:54:31,936:DEBUG:urllib3.connectionpool:https://api.cloudflare.com:443 "GET /client/v4/zones/7a2d27b376e0878c88ea54c8d64886ea/dns_records?type=TXT&name=_acme-challenge.keesing.ai&content=fqSqTrdY9KKAp1NKMu8ITMYMoSFhink6Sixxs9D4F3Y&per_page=1 HTTP/1.1" 200 None
2025-08-18 10:54:31,937:DEBUG:certbot_dns_cloudflare._internal.dns_cloudflare:Successfully added TXT record with record_id: c33569adc91f4d82aa4e9a391fb482cc
2025-08-18 10:54:31,944:DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): api.cloudflare.com:443
2025-08-18 10:54:32,992:DEBUG:urllib3.connectionpool:https://api.cloudflare.com:443 "GET /client/v4/zones?name=keesing.ai&per_page=1 HTTP/1.1" 200 None
2025-08-18 10:54:32,993:DEBUG:certbot_dns_cloudflare._internal.dns_cloudflare:Found zone_id of 7a2d27b376e0878c88ea54c8d64886ea for keesing.ai using name keesing.ai
2025-08-18 10:54:32,993:DEBUG:certbot_dns_cloudflare._internal.dns_cloudflare:Attempting to add record to zone 7a2d27b376e0878c88ea54c8d64886ea: {'type': 'TXT', 'name': '_acme-challenge.keesing.ai', 'content': 'WwPfjh3DBo4-hi_J2hiiDngH8g1a3hMahlEdt0b_xE4', 'ttl': 120}
2025-08-18 10:54:33,547:DEBUG:urllib3.connectionpool:https://api.cloudflare.com:443 "POST /client/v4/zones/7a2d27b376e0878c88ea54c8d64886ea/dns_records HTTP/1.1" 200 None
2025-08-18 10:54:34,149:DEBUG:urllib3.connectionpool:https://api.cloudflare.com:443 "GET /client/v4/zones/7a2d27b376e0878c88ea54c8d64886ea/dns_records?type=TXT&name=_acme-challenge.keesing.ai&content=WwPfjh3DBo4-hi_J2hiiDngH8g1a3hMahlEdt0b_xE4&per_page=1 HTTP/1.1" 200 None
2025-08-18 10:54:34,149:DEBUG:certbot_dns_cloudflare._internal.dns_cloudflare:Successfully added TXT record with record_id: c2e94cc91975947802ad7d4bb2e59383
2025-08-18 10:54:34,152:DEBUG:certbot._internal.display.obj:Notifying user: Waiting 10 seconds for DNS changes to propagate
2025-08-18 10:54:44,152:DEBUG:acme.client:JWS payload:
b'{}'
2025-08-18 10:54:44,154:DEBUG:acme.client:Sending POST request to https://acme-v02.api.letsencrypt.org/acme/chall/2602949117/570688652327/_vGPTg:
{
"protected": "eyJhbGciOiAiUlMyNTYiLCAia2lkIjogImh0dHBzOi8vYWNtZS12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMjYwMjk0OTExNyIsICJub25jZSI6ICJ0ckk5VEMyazIxaDljN29zbnQ3NDZoU2sydm5HUG5hV0J3MTFWRjBWYW4tUFhETngwSmsiLCAidXJsIjogImh0dHBzOi8vYWNtZS12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2NoYWxsLzI2MDI5NDkxMTcvNTcwNjg4NjUyMzI3L192R1BUZyJ9",
"signature": "O-dQSiscp_m6dr9riWXhjQrUqYKDtlMRUtsMZrQHcgkTosGEWRTVuwb1ZLXy2WGGmHnGUFFgqyPaer_hcXDwJbsNnc4qmLfrYAbUW4R61aVfU2DfSrM77EVoDkKD5X82svuOBJfr7HXswJP-hXbm3FxaS22qgb0W6-Om8nnWhiWURk6pYi1Qb-VD1f7t5VXRDDLEYWMpPTtFMGtzOsNVxZXqdbHyMyuKnzIgir928IVpcOqpGfa67tvsx8vfhvMyGFFMLLysCluUhNAXluDohienuqBQFqJRQIy99lrq4AKb4SxUWqvXvfWag-kA46ImWGNo9xpYZ0zUSLcbdTcijg",
"payload": "e30"
}
2025-08-18 10:54:44,298:DEBUG:urllib3.connectionpool:https://acme-v02.api.letsencrypt.org:443 "POST /acme/chall/2602949117/570688652327/_vGPTg HTTP/1.1" 200 194
2025-08-18 10:54:44,298:DEBUG:acme.client:Received response:
HTTP 200
Server: nginx
Date: Mon, 18 Aug 2025 10:54:44 GMT
Content-Type: application/json
Content-Length: 194
Connection: keep-alive
Boulder-Requester: 2602949117
Cache-Control: public, max-age=0, no-cache
Link: <https://acme-v02.api.letsencrypt.org/directory>;rel="index", <https://acme-v02.api.letsencrypt.org/acme/authz/2602949117/570688652327>;rel="up"
Location: https://acme-v02.api.letsencrypt.org/acme/chall/2602949117/570688652327/_vGPTg
Replay-Nonce: 9_RDYWV0dgORwiPyrmuXl_B65iDOexyMUZUVesrgtfMXD1asrZ8
X-Frame-Options: DENY
Strict-Transport-Security: max-age=604800
{
"type": "dns-01",
"url": "https://acme-v02.api.letsencrypt.org/acme/chall/2602949117/570688652327/_vGPTg",
"status": "pending",
"token": "iL2GM5zRyZU3VdbV5id97pPIza6aXMsz3K0ijGgFzEc"
}
2025-08-18 10:54:44,299:DEBUG:acme.client:Storing nonce: 9_RDYWV0dgORwiPyrmuXl_B65iDOexyMUZUVesrgtfMXD1asrZ8
2025-08-18 10:54:44,299:DEBUG:acme.client:JWS payload:
b'{}'
2025-08-18 10:54:44,300:DEBUG:acme.client:Sending POST request to https://acme-v02.api.letsencrypt.org/acme/chall/2602949117/570688652337/a8u1ZA:
{
"protected": "eyJhbGciOiAiUlMyNTYiLCAia2lkIjogImh0dHBzOi8vYWNtZS12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMjYwMjk0OTExNyIsICJub25jZSI6ICI5X1JEWVdWMGRnT1J3aVB5cm11WGxfQjY1aURPZXh5TVVaVVZlc3JndGZNWEQxYXNyWjgiLCAidXJsIjogImh0dHBzOi8vYWNtZS12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2NoYWxsLzI2MDI5NDkxMTcvNTcwNjg4NjUyMzM3L2E4dTFaQSJ9",
"signature": "ZcKQTPhCejobFhltGb7kP30C7fbXcIHT8N9spuXYoK-8rQm-Av4txflHxheNJPcunu0M-_YG0WxMK0NrpY3cND_bQrI1y5fZG5eFRdSFPR1n40YbSMPGmaFW77QtaUnYID7rTkof5UwTjAZUFdvUB9JthDgX-4ejyE4jCvfkKkNmb6y2GYpB1x5XmICeEm7SvbA_NEXNF7XIhvHvKYvToT910bUroac6zJIfa_KJFp_KdWPm6J-mrJsPic1lkJEZ5gK_CidZSZ9N9INhyEZ2IQLpgol_Aywb-yuDvgeKl8llBZzYP8Pb_tBWSQUX0Z4o2R_sZQe50wA0vMtj243E4g",
"payload": "e30"
}
2025-08-18 10:54:44,444:DEBUG:urllib3.connectionpool:https://acme-v02.api.letsencrypt.org:443 "POST /acme/chall/2602949117/570688652337/a8u1ZA HTTP/1.1" 200 194
2025-08-18 10:54:44,444:DEBUG:acme.client:Received response:
HTTP 200
Server: nginx
Date: Mon, 18 Aug 2025 10:54:44 GMT
Content-Type: application/json
Content-Length: 194
Connection: keep-alive
Boulder-Requester: 2602949117
Cache-Control: public, max-age=0, no-cache
Link: <https://acme-v02.api.letsencrypt.org/directory>;rel="index", <https://acme-v02.api.letsencrypt.org/acme/authz/2602949117/570688652337>;rel="up"
Location: https://acme-v02.api.letsencrypt.org/acme/chall/2602949117/570688652337/a8u1ZA
Replay-Nonce: trI9TC2k65qpI3kSTHwR1HG7wITh1pUCmc6lrN4EwOlzJJF4vKg
X-Frame-Options: DENY
Strict-Transport-Security: max-age=604800
{
"type": "dns-01",
"url": "https://acme-v02.api.letsencrypt.org/acme/chall/2602949117/570688652337/a8u1ZA",
"status": "pending",
"token": "Q4CzSw-ww43WZwen368jaxME6VEeZJeYC14EHm5Z9oA"
}
2025-08-18 10:54:44,444:DEBUG:acme.client:Storing nonce: trI9TC2k65qpI3kSTHwR1HG7wITh1pUCmc6lrN4EwOlzJJF4vKg
2025-08-18 10:54:44,444:INFO:certbot._internal.auth_handler:Waiting for verification...
2025-08-18 10:54:45,445:DEBUG:acme.client:JWS payload:
b''
2025-08-18 10:54:45,447:DEBUG:acme.client:Sending POST request to https://acme-v02.api.letsencrypt.org/acme/authz/2602949117/570688652327:
{
"protected": "eyJhbGciOiAiUlMyNTYiLCAia2lkIjogImh0dHBzOi8vYWNtZS12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMjYwMjk0OTExNyIsICJub25jZSI6ICJ0ckk5VEMyazY1cXBJM2tTVEh3UjFIRzd3SVRoMXBVQ21jNmxyTjRFd09sekpKRjR2S2ciLCAidXJsIjogImh0dHBzOi8vYWNtZS12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2F1dGh6LzI2MDI5NDkxMTcvNTcwNjg4NjUyMzI3In0",
"signature": "VGRwUbcM6w2yU-ZdrYQqYdHCE4xFKSqsn16J9rOJmIvgisc341k9o_NznrWRu2jQf6Cf9-pnfp9A6_8vAM7YhdTzuJ_-uXti8BEzQ3iaIouUVX6WGMhLOadNJmBuEXKVf1c01XM9qeZYpUyawe4ijC749IMcEWT1Q6O82XkkK4PP_c4BqA0RjeWcJthGm9pUfa9v4bxIH1HiMuZorQJp8jW82Rae6DFkBqrtICGV4624Ux2VGk6iMiyoq9CEoNDzZgABMjzsNWMQhGpcCCdsz2Py0whXwMnvemJlf-AufL-a0iLUMxGyaguI_7rLTduePXDx-4lqGEbxk5Y8eyNWKw",
"payload": ""
}
2025-08-18 10:54:45,590:DEBUG:urllib3.connectionpool:https://acme-v02.api.letsencrypt.org:443 "POST /acme/authz/2602949117/570688652327 HTTP/1.1" 200 552
2025-08-18 10:54:45,590:DEBUG:acme.client:Received response:
HTTP 200
Server: nginx
Date: Mon, 18 Aug 2025 10:54:45 GMT
Content-Type: application/json
Content-Length: 552
Connection: keep-alive
Boulder-Requester: 2602949117
Cache-Control: public, max-age=0, no-cache
Link: <https://acme-v02.api.letsencrypt.org/directory>;rel="index"
Replay-Nonce: 9_RDYWV0dDZ7ho_34Saznpe9KcmBFYwJ6R6aymgC0FlJSAvIL7w
X-Frame-Options: DENY
Strict-Transport-Security: max-age=604800
{
"identifier": {
"type": "dns",
"value": "keesing.ai"
},
"status": "valid",
"expires": "2025-09-17T10:54:44Z",
"challenges": [
{
"type": "dns-01",
"url": "https://acme-v02.api.letsencrypt.org/acme/chall/2602949117/570688652327/_vGPTg",
"status": "valid",
"validated": "2025-08-18T10:54:44Z",
"token": "iL2GM5zRyZU3VdbV5id97pPIza6aXMsz3K0ijGgFzEc",
"validationRecord": [
{
"hostname": "keesing.ai",
"addressUsed": ""
}
]
}
],
"wildcard": true
}
2025-08-18 10:54:45,590:DEBUG:acme.client:Storing nonce: 9_RDYWV0dDZ7ho_34Saznpe9KcmBFYwJ6R6aymgC0FlJSAvIL7w
2025-08-18 10:54:45,591:DEBUG:acme.client:JWS payload:
b''
2025-08-18 10:54:45,592:DEBUG:acme.client:Sending POST request to https://acme-v02.api.letsencrypt.org/acme/authz/2602949117/570688652337:
{
"protected": "eyJhbGciOiAiUlMyNTYiLCAia2lkIjogImh0dHBzOi8vYWNtZS12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMjYwMjk0OTExNyIsICJub25jZSI6ICI5X1JEWVdWMGREWjdob18zNFNhem5wZTlLY21CRll3SjZSNmF5bWdDMEZsSlNBdklMN3ciLCAidXJsIjogImh0dHBzOi8vYWNtZS12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2F1dGh6LzI2MDI5NDkxMTcvNTcwNjg4NjUyMzM3In0",
"signature": "DbsXonnrTHLOMgeUkZnV4xHpXwZrBFHIfkTg0wf541T15eXmMcQSjFVnmFyLHV7LWa4_ru6bS6omuYJQAMFknQ9akDiTObLc0hjwsQrRcW4bm9TIsHLsXLNahsgBXJIb6nuoIMSvmYdCBQkOQV0YTSprbWbj9pCJCqkyojrT2y22NoncqzigvZ4sXdm3YTIorU97DP3cVqbDHeDT43EZsZRZLG7xeTCWzni2CW3lvaTOwTui_uZ0wsXfoGVBbZObnjGI0TdNzqNsg4BRxpBuIJpl1c_utWjOlUpDd3jdShEW_Ap7bOt4GIalf8K-CjcyE-fY5bmi1G6XSh37zLc7WQ",
"payload": ""
}
2025-08-18 10:54:45,734:DEBUG:urllib3.connectionpool:https://acme-v02.api.letsencrypt.org:443 "POST /acme/authz/2602949117/570688652337 HTTP/1.1" 200 532
2025-08-18 10:54:45,735:DEBUG:acme.client:Received response:
HTTP 200
Server: nginx
Date: Mon, 18 Aug 2025 10:54:45 GMT
Content-Type: application/json
Content-Length: 532
Connection: keep-alive
Boulder-Requester: 2602949117
Cache-Control: public, max-age=0, no-cache
Link: <https://acme-v02.api.letsencrypt.org/directory>;rel="index"
Replay-Nonce: trI9TC2knkEcvmHKIf0_ofPOiycd6CYEszZ3PHi0rKyAKWVQ7Oo
X-Frame-Options: DENY
Strict-Transport-Security: max-age=604800
{
"identifier": {
"type": "dns",
"value": "keesing.ai"
},
"status": "valid",
"expires": "2025-09-17T10:54:45Z",
"challenges": [
{
"type": "dns-01",
"url": "https://acme-v02.api.letsencrypt.org/acme/chall/2602949117/570688652337/a8u1ZA",
"status": "valid",
"validated": "2025-08-18T10:54:44Z",
"token": "Q4CzSw-ww43WZwen368jaxME6VEeZJeYC14EHm5Z9oA",
"validationRecord": [
{
"hostname": "keesing.ai",
"addressUsed": ""
}
]
}
]
}
2025-08-18 10:54:45,735:DEBUG:acme.client:Storing nonce: trI9TC2knkEcvmHKIf0_ofPOiycd6CYEszZ3PHi0rKyAKWVQ7Oo
2025-08-18 10:54:45,735:DEBUG:certbot._internal.error_handler:Calling registered functions
2025-08-18 10:54:45,735:INFO:certbot._internal.auth_handler:Cleaning up challenges
2025-08-18 10:54:45,740:DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): api.cloudflare.com:443
2025-08-18 10:54:46,835:DEBUG:urllib3.connectionpool:https://api.cloudflare.com:443 "GET /client/v4/zones?name=keesing.ai&per_page=1 HTTP/1.1" 200 None
2025-08-18 10:54:46,836:DEBUG:certbot_dns_cloudflare._internal.dns_cloudflare:Found zone_id of 7a2d27b376e0878c88ea54c8d64886ea for keesing.ai using name keesing.ai
2025-08-18 10:54:47,451:DEBUG:urllib3.connectionpool:https://api.cloudflare.com:443 "GET /client/v4/zones/7a2d27b376e0878c88ea54c8d64886ea/dns_records?type=TXT&name=_acme-challenge.keesing.ai&content=fqSqTrdY9KKAp1NKMu8ITMYMoSFhink6Sixxs9D4F3Y&per_page=1 HTTP/1.1" 200 None
2025-08-18 10:54:48,060:DEBUG:urllib3.connectionpool:https://api.cloudflare.com:443 "DELETE /client/v4/zones/7a2d27b376e0878c88ea54c8d64886ea/dns_records/c33569adc91f4d82aa4e9a391fb482cc HTTP/1.1" 200 None
2025-08-18 10:54:48,061:DEBUG:certbot_dns_cloudflare._internal.dns_cloudflare:Successfully deleted TXT record.
2025-08-18 10:54:48,068:DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): api.cloudflare.com:443
2025-08-18 10:54:48,926:DEBUG:urllib3.connectionpool:https://api.cloudflare.com:443 "GET /client/v4/zones?name=keesing.ai&per_page=1 HTTP/1.1" 200 None
2025-08-18 10:54:48,927:DEBUG:certbot_dns_cloudflare._internal.dns_cloudflare:Found zone_id of 7a2d27b376e0878c88ea54c8d64886ea for keesing.ai using name keesing.ai
2025-08-18 10:54:49,444:DEBUG:urllib3.connectionpool:https://api.cloudflare.com:443 "GET /client/v4/zones/7a2d27b376e0878c88ea54c8d64886ea/dns_records?type=TXT&name=_acme-challenge.keesing.ai&content=WwPfjh3DBo4-hi_J2hiiDngH8g1a3hMahlEdt0b_xE4&per_page=1 HTTP/1.1" 200 None
2025-08-18 10:54:50,025:DEBUG:urllib3.connectionpool:https://api.cloudflare.com:443 "DELETE /client/v4/zones/7a2d27b376e0878c88ea54c8d64886ea/dns_records/c2e94cc91975947802ad7d4bb2e59383 HTTP/1.1" 200 None
2025-08-18 10:54:50,025:DEBUG:certbot_dns_cloudflare._internal.dns_cloudflare:Successfully deleted TXT record.
2025-08-18 10:54:50,027:DEBUG:certbot._internal.client:CSR: CSR(file=None, data=b'-----BEGIN CERTIFICATE REQUEST-----\nMIHyMIGYAgEAMAAwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAT2MIZ207Ytn0Xm\nBYuxh6/+BCgTrJ7OO4Yax3mBIyL6T0DaWK8HL4QIsxcecSkQIWB6aNKown3sAF4e\nAIuqbYjaoDYwNAYJKoZIhvcNAQkOMScwJTAjBgNVHREEHDAaggwqLmtlZXNpbmcu\nYWmCCmtlZXNpbmcuYWkwCgYIKoZIzj0EAwIDSQAwRgIhAJH/1IUMajMkPQG6y6fa\nU+pCeOWAjbU3ZeREbs4uH66SAiEA/ijebx9Jbl0yyFk7TJ6vWqafTOPWTOHI0AYX\ncXjQ/rA=\n-----END CERTIFICATE REQUEST-----\n', form='pem')
2025-08-18 10:54:50,028:DEBUG:certbot._internal.client:Will poll for certificate issuance until 2025-08-18 10:56:20.028380
2025-08-18 10:54:50,029:DEBUG:acme.client:JWS payload:
b'{\n "csr": "MIHyMIGYAgEAMAAwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAT2MIZ207Ytn0XmBYuxh6_-BCgTrJ7OO4Yax3mBIyL6T0DaWK8HL4QIsxcecSkQIWB6aNKown3sAF4eAIuqbYjaoDYwNAYJKoZIhvcNAQkOMScwJTAjBgNVHREEHDAaggwqLmtlZXNpbmcuYWmCCmtlZXNpbmcuYWkwCgYIKoZIzj0EAwIDSQAwRgIhAJH_1IUMajMkPQG6y6faU-pCeOWAjbU3ZeREbs4uH66SAiEA_ijebx9Jbl0yyFk7TJ6vWqafTOPWTOHI0AYXcXjQ_rA"\n}'
2025-08-18 10:54:50,031:DEBUG:acme.client:Sending POST request to https://acme-v02.api.letsencrypt.org/acme/finalize/2602949117/419121890097:
{
"protected": "eyJhbGciOiAiUlMyNTYiLCAia2lkIjogImh0dHBzOi8vYWNtZS12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMjYwMjk0OTExNyIsICJub25jZSI6ICJ0ckk5VEMya25rRWN2bUhLSWYwX29mUE9peWNkNkNZRXN6WjNQSGkwckt5QUtXVlE3T28iLCAidXJsIjogImh0dHBzOi8vYWNtZS12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2ZpbmFsaXplLzI2MDI5NDkxMTcvNDE5MTIxODkwMDk3In0",
"signature": "UgLE0e1yZC2A3JXtUQaPpdYk5qmSlz1oUu0J8xmzBXeaF2-sj0q3q3LAxRw8GOS4rm4CLrLO2uYfWIjeptxi0-F4kTTovcbMNKmkzmlMfSmB8fM66FrP4B9EEKSsK1w2gLjk-sjU80ouTWG4cL2VXYpNuM9xHsQa535x99brdwpT8N3NtfOaZ47MzafhbS9XNFMGelns4-mngumOtjIxQrTWhMCWLOhS7ZJO3iN7wC36Vzf2k95NBoF4Lxkg1a6ClPDGibjci59yZjUmSyOlmD4QE3aQjErl8Rm3Wp6w8hYiSe7ZWZ2ZEUK_jHMb2qV4qr70p28icx3vxetjJldQxg",
"payload": "ewogICJjc3IiOiAiTUlIeU1JR1lBZ0VBTUFBd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFUMk1JWjIwN1l0bjBYbUJZdXhoNl8tQkNnVHJKN09PNFlheDNtQkl5TDZUMERhV0s4SEw0UUlzeGNlY1NrUUlXQjZhTktvd24zc0FGNGVBSXVxYllqYW9EWXdOQVlKS29aSWh2Y05BUWtPTVNjd0pUQWpCZ05WSFJFRUhEQWFnZ3dxTG10bFpYTnBibWN1WVdtQ0NtdGxaWE5wYm1jdVlXa3dDZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBSkhfMUlVTWFqTWtQUUc2eTZmYVUtcENlT1dBamJVM1plUkViczR1SDY2U0FpRUFfaWplYng5SmJsMHl5Rms3VEo2dldxYWZUT1BXVE9ISTBBWVhjWGpRX3JBIgp9"
}
2025-08-18 10:54:50,422:DEBUG:urllib3.connectionpool:https://acme-v02.api.letsencrypt.org:443 "POST /acme/finalize/2602949117/419121890097 HTTP/1.1" 200 589
2025-08-18 10:54:50,423:DEBUG:acme.client:Received response:
HTTP 200
Server: nginx
Date: Mon, 18 Aug 2025 10:54:50 GMT
Content-Type: application/json
Content-Length: 589
Connection: keep-alive
Boulder-Requester: 2602949117
Cache-Control: public, max-age=0, no-cache
Link: <https://acme-v02.api.letsencrypt.org/directory>;rel="index"
Location: https://acme-v02.api.letsencrypt.org/acme/order/2602949117/419121890097
Replay-Nonce: 9_RDYWV0O0Oo2-fi7Co3IGZ2oplYhM_NTlgvUeLI19kdp0kLzHI
X-Frame-Options: DENY
Strict-Transport-Security: max-age=604800
{
"status": "valid",
"expires": "2025-08-25T10:54:29Z",
"identifiers": [
{
"type": "dns",
"value": "*.keesing.ai"
},
{
"type": "dns",
"value": "keesing.ai"
}
],
"authorizations": [
"https://acme-v02.api.letsencrypt.org/acme/authz/2602949117/570688652327",
"https://acme-v02.api.letsencrypt.org/acme/authz/2602949117/570688652337"
],
"finalize": "https://acme-v02.api.letsencrypt.org/acme/finalize/2602949117/419121890097",
"certificate": "https://acme-v02.api.letsencrypt.org/acme/cert/057d171c7c123ab57312a81b033d533966e8"
}
2025-08-18 10:54:50,423:DEBUG:acme.client:Storing nonce: 9_RDYWV0O0Oo2-fi7Co3IGZ2oplYhM_NTlgvUeLI19kdp0kLzHI
2025-08-18 10:54:51,423:DEBUG:acme.client:JWS payload:
b''
2025-08-18 10:54:51,425:DEBUG:acme.client:Sending POST request to https://acme-v02.api.letsencrypt.org/acme/order/2602949117/419121890097:
{
"protected": "eyJhbGciOiAiUlMyNTYiLCAia2lkIjogImh0dHBzOi8vYWNtZS12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMjYwMjk0OTExNyIsICJub25jZSI6ICI5X1JEWVdWME8wT28yLWZpN0NvM0lHWjJvcGxZaE1fTlRsZ3ZVZUxJMTlrZHAwa0x6SEkiLCAidXJsIjogImh0dHBzOi8vYWNtZS12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL29yZGVyLzI2MDI5NDkxMTcvNDE5MTIxODkwMDk3In0",
"signature": "pZPcC_S0W0MiuHqHffxn8W2L8J6zblH1gmndmSbfkhX7YrOPDnLpGwk6eojWap2AFJxSdYrhJ2mvJKotvD3upYpbwQoJVZKSRRy1Qy1g0LByN44ffupSa7jHgOJdSgwmQYaSq06zBN1Su6CXGy4yqL-KMoF1DNxRFTxXLO3jk0MoSLZY0hryfyts2hWK6d3S7oWQfLJ0GPve9FVOzX7wvtrZ_X1gI1aF5cowZkGQUneUw3I0Uvm4mKzkn_0dC1cAOqCiLK-HfGnayrekt1ZBm2ZFCBMGn74j1UrrrGOpRdtpjpdfBVcoyxLiRYKZ603XAKD8qpc7yA3O9DBKXhj2OA",
"payload": ""
}
2025-08-18 10:54:51,563:DEBUG:urllib3.connectionpool:https://acme-v02.api.letsencrypt.org:443 "POST /acme/order/2602949117/419121890097 HTTP/1.1" 200 589
2025-08-18 10:54:51,564:DEBUG:acme.client:Received response:
HTTP 200
Server: nginx
Date: Mon, 18 Aug 2025 10:54:51 GMT
Content-Type: application/json
Content-Length: 589
Connection: keep-alive
Cache-Control: public, max-age=0, no-cache
Link: <https://acme-v02.api.letsencrypt.org/directory>;rel="index"
Location: https://acme-v02.api.letsencrypt.org/acme/order/2602949117/419121890097
Replay-Nonce: 9_RDYWV0KH1ejAsfkgsmpajoNcLl3ct4NpRi93P43fsGK4ERr6A
X-Frame-Options: DENY
Strict-Transport-Security: max-age=604800
{
"status": "valid",
"expires": "2025-08-25T10:54:29Z",
"identifiers": [
{
"type": "dns",
"value": "*.keesing.ai"
},
{
"type": "dns",
"value": "keesing.ai"
}
],
"authorizations": [
"https://acme-v02.api.letsencrypt.org/acme/authz/2602949117/570688652327",
"https://acme-v02.api.letsencrypt.org/acme/authz/2602949117/570688652337"
],
"finalize": "https://acme-v02.api.letsencrypt.org/acme/finalize/2602949117/419121890097",
"certificate": "https://acme-v02.api.letsencrypt.org/acme/cert/057d171c7c123ab57312a81b033d533966e8"
}
2025-08-18 10:54:51,564:DEBUG:acme.client:Storing nonce: 9_RDYWV0KH1ejAsfkgsmpajoNcLl3ct4NpRi93P43fsGK4ERr6A
2025-08-18 10:54:51,564:DEBUG:acme.client:JWS payload:
b''
2025-08-18 10:54:51,566:DEBUG:acme.client:Sending POST request to https://acme-v02.api.letsencrypt.org/acme/cert/057d171c7c123ab57312a81b033d533966e8:
{
"protected": "eyJhbGciOiAiUlMyNTYiLCAia2lkIjogImh0dHBzOi8vYWNtZS12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMjYwMjk0OTExNyIsICJub25jZSI6ICI5X1JEWVdWMEtIMWVqQXNma2dzbXBham9OY0xsM2N0NE5wUmk5M1A0M2ZzR0s0RVJyNkEiLCAidXJsIjogImh0dHBzOi8vYWNtZS12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2NlcnQvMDU3ZDE3MWM3YzEyM2FiNTczMTJhODFiMDMzZDUzMzk2NmU4In0",
"signature": "R-n_LlAwiBrWeaowTTvjFbnBZ1i4JWKiSpAz3G44gnhjsQ2A-r-ucJVGxx15WVAAOoksmzZ-NpKKzVa3BIGtr6er1xwd1oRokp_I1rUGMozFYhIn9L-4U2LHuF2BxuHCHnYxwZ--hVWtaHRh_xsEhVVK-lZ-BkGv5WlgHuu2a2vWKnEM0z1rgpTwTlMZyFixVARB4Y2MV2eDtR9FrGGCniE6pCBExvlBms6CbOOe-D9VkBUrmSfeaMuxnpGFv0BrkQtvtc0uy1lMJGuBMlYioNKHusmGjF5n1EdNrWCqvxTYJzHObHJhSA1cmJrJUiWXYld0MUQJlawHYwEj4o6Waw",
"payload": ""
}
2025-08-18 10:54:51,703:DEBUG:urllib3.connectionpool:https://acme-v02.api.letsencrypt.org:443 "POST /acme/cert/057d171c7c123ab57312a81b033d533966e8 HTTP/1.1" 200 2861
2025-08-18 10:54:51,704:DEBUG:acme.client:Received response:
HTTP 200
Server: nginx
Date: Mon, 18 Aug 2025 10:54:51 GMT
Content-Type: application/pem-certificate-chain
Content-Length: 2861
Connection: keep-alive
Cache-Control: public, max-age=0, no-cache
Link: <https://acme-v02.api.letsencrypt.org/directory>;rel="index", <https://acme-v02.api.letsencrypt.org/acme/cert/057d171c7c123ab57312a81b033d533966e8/1>;rel="alternate"
Replay-Nonce: trI9TC2kHxdUPO55BeeB4lgJqQ3-av2sE3XX5-ynIF9F4X5joA0
X-Frame-Options: DENY
Strict-Transport-Security: max-age=604800
-----BEGIN CERTIFICATE-----
MIIDjzCCAxagAwIBAgISBX0XHHwSOrVzEqgbAz1TOWboMAoGCCqGSM49BAMDMDIx
CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
NTAeFw0yNTA4MTgwOTU2MjBaFw0yNTExMTYwOTU2MTlaMBcxFTATBgNVBAMMDCou
a2Vlc2luZy5haTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABPYwhnbTti2fReYF
i7GHr/4EKBOsns47hhrHeYEjIvpPQNpYrwcvhAizFx5xKRAhYHpo0qjCfewAXh4A
i6ptiNqjggIlMIICITAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0lBBYwFAYIKwYBBQUH
AwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFGNM2n1YBTvE0Yfz
tFiChzH/D43JMB8GA1UdIwQYMBaAFJ8rX888IU+dBLftKyzExnCL0tcNMDIGCCsG
AQUFBwEBBCYwJDAiBggrBgEFBQcwAoYWaHR0cDovL2U1LmkubGVuY3Iub3JnLzAj
BgNVHREEHDAaggwqLmtlZXNpbmcuYWmCCmtlZXNpbmcuYWkwEwYDVR0gBAwwCjAI
BgZngQwBAgEwLgYDVR0fBCcwJTAjoCGgH4YdaHR0cDovL2U1LmMubGVuY3Iub3Jn
LzEwNS5jcmwwggECBgorBgEEAdZ5AgQCBIHzBIHwAO4AdQCkQsUGSWBhVI8P1Oqc
+3otJkVNh6l/L99FWfYnTzqEVAAAAZi80U0sAAAEAwBGMEQCIG0g0pwa63TaGWg8
iRPyHAsRE+qI7ZEfUXgGwsz6IkZ2AiBaW2Z0FLjSut3AVlXYWw54H4BmvAzpQDta
8hWUtl/eGwB1AN3cyjSV1+EWBeeVMvrHn/g9HFDf2wA6FBJ2Ciysu8gqAAABmLzR
TWkAAAQDAEYwRAIgWYOof1/KcdERigyzFZAXkjxiVK6e7ng0zp2ol7GxHCcCIDMW
GbwiQdAuTIJhSkLhX/eLIk/sAoqOYDwnL8JyaYltMAoGCCqGSM49BAMDA2cAMGQC
MFDkrDCNExFNJVqclEiwd1MvIwnywV/7+zgTjxMcxVbzwNgg2xNEO9/0nZeo8Ne7
eQIwZ4EPkfu422wvNeLR3dPbVpPSGkFg4y+5TUtWZtXqfQ+WkgE5q942GfbhfQH6
kRuB
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEVzCCAj+gAwIBAgIRAIOPbGPOsTmMYgZigxXJ/d4wDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjQwMzEzMDAwMDAw
WhcNMjcwMzEyMjM1OTU5WjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
RW5jcnlwdDELMAkGA1UEAxMCRTUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNCzqK
a2GOtu/cX1jnxkJFVKtj9mZhSAouWXW0gQI3ULc/FnncmOyhKJdyIBwsz9V8UiBO
VHhbhBRrwJCuhezAUUE8Wod/Bk3U/mDR+mwt4X2VEIiiCFQPmRpM5uoKrNijgfgw
gfUwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcD
ATASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBSfK1/PPCFPnQS37SssxMZw
i9LXDTAfBgNVHSMEGDAWgBR5tFnme7bl5AFzgAiIyBpY9umbbjAyBggrBgEFBQcB
AQQmMCQwIgYIKwYBBQUHMAKGFmh0dHA6Ly94MS5pLmxlbmNyLm9yZy8wEwYDVR0g
BAwwCjAIBgZngQwBAgEwJwYDVR0fBCAwHjAcoBqgGIYWaHR0cDovL3gxLmMubGVu
Y3Iub3JnLzANBgkqhkiG9w0BAQsFAAOCAgEAH3KdNEVCQdqk0LKyuNImTKdRJY1C
2uw2SJajuhqkyGPY8C+zzsufZ+mgnhnq1A2KVQOSykOEnUbx1cy637rBAihx97r+
bcwbZM6sTDIaEriR/PLk6LKs9Be0uoVxgOKDcpG9svD33J+G9Lcfv1K9luDmSTgG
6XNFIN5vfI5gs/lMPyojEMdIzK9blcl2/1vKxO8WGCcjvsQ1nJ/Pwt8LQZBfOFyV
XP8ubAp/au3dc4EKWG9MO5zcx1qT9+NXRGdVWxGvmBFRAajciMfXME1ZuGmk3/GO
koAM7ZkjZmleyokP1LGzmfJcUd9s7eeu1/9/eg5XlXd/55GtYjAM+C4DG5i7eaNq
cm2F+yxYIPt6cbbtYVNJCGfHWqHEQ4FYStUyFnv8sjyqU8ypgZaNJ9aVcWSICLOI
E1/Qv/7oKsnZCWJ926wU6RqG1OYPGOi1zuABhLw61cuPVDT28nQS/e6z95cJXq0e
K1BcaJ6fJZsmbjRgD5p3mvEf5vdQM7MCEvU0tHbsx2I5mHHJoABHb8KVBgWp/lcX
GWiWaeOyB7RP+OfDtvi2OsapxXiV7vNVs7fMlrRjY1joKaqmmycnBvAq14AEbtyL
sVfOS66B8apkeFX2NY4XPEYV4ZSCe8VHPrdrERk2wILG3T/EGmSIkCYVUMSnjmJd
VQD9F6Na/+zmXCc=
-----END CERTIFICATE-----
2025-08-18 10:54:51,704:DEBUG:acme.client:Storing nonce: trI9TC2kHxdUPO55BeeB4lgJqQ3-av2sE3XX5-ynIF9F4X5joA0
2025-08-18 10:54:51,706:DEBUG:certbot._internal.storage:Creating directory /etc/letsencrypt/archive.
2025-08-18 10:54:51,706:DEBUG:certbot._internal.storage:Creating directory /etc/letsencrypt/live.
2025-08-18 10:54:51,706:DEBUG:certbot._internal.storage:Writing README to /etc/letsencrypt/live/README.
2025-08-18 10:54:51,706:DEBUG:certbot._internal.storage:Creating directory /etc/letsencrypt/archive/keesing.ai.
2025-08-18 10:54:51,706:DEBUG:certbot._internal.storage:Creating directory /etc/letsencrypt/live/keesing.ai.
2025-08-18 10:54:51,707:DEBUG:certbot._internal.storage:Writing certificate to /etc/letsencrypt/live/keesing.ai/cert.pem.
2025-08-18 10:54:51,707:DEBUG:certbot._internal.storage:Writing private key to /etc/letsencrypt/live/keesing.ai/privkey.pem.
2025-08-18 10:54:51,707:DEBUG:certbot._internal.storage:Writing chain to /etc/letsencrypt/live/keesing.ai/chain.pem.
2025-08-18 10:54:51,707:DEBUG:certbot._internal.storage:Writing full chain to /etc/letsencrypt/live/keesing.ai/fullchain.pem.
2025-08-18 10:54:51,707:DEBUG:certbot._internal.storage:Writing README to /etc/letsencrypt/live/keesing.ai/README.
2025-08-18 10:54:51,725:DEBUG:certbot.configuration:Var account=603413b670468a93f7d3df36a9c4fb37 (set by user).
2025-08-18 10:54:51,725:DEBUG:certbot._internal.plugins.selection:Requested authenticator dns-cloudflare and installer None
2025-08-18 10:54:51,726:DEBUG:certbot._internal.plugins.selection:Requested authenticator dns-cloudflare and installer None
2025-08-18 10:54:51,726:DEBUG:certbot.configuration:Var dns_cloudflare_credentials=/etc/letsencrypt/.secrets/cloudflare.ini (set by user).
2025-08-18 10:54:51,726:DEBUG:certbot._internal.storage:Writing new config /etc/letsencrypt/renewal/keesing.ai.conf.
2025-08-18 10:54:51,728:DEBUG:certbot._internal.display.obj:Notifying user:
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/keesing.ai/fullchain.pem
Key is saved at: /etc/letsencrypt/live/keesing.ai/privkey.pem
This certificate expires on 2025-11-16.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
2025-08-18 10:54:51,730:DEBUG:certbot._internal.display.obj:Notifying user: If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-le
Other Resources
SSH Config File