mirror of
https://github.com/NginxProxyManager/nginx-proxy-manager.git
synced 2026-04-25 09:25:55 +03:00
[GH-ISSUE #2430] AttributeError: module 'certbot.interfaces' has no attribute 'IAuthenticator' #1702
Labels
No labels
awaiting feedback
bug
cannot reproduce
dns provider request
duplicate
enhancement
enhancement
enhancement
good first issue
help wanted
invalid
need more info
no certbot plugin available
product-support
pull-request
question
stale
troll
upstream issue
v2
v2
v2
v3
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/nginx-proxy-manager-NginxProxyManager#1702
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @naoki66 on GitHub (Nov 25, 2022).
Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/2430
Checklist
jc21/nginx-proxy-manager:latestdocker image?Describe the bug
Error: Command failed: certbot certonly --config "/etc/letsencrypt.ini" --cert-name "npm-13" --agree-tos --email "AAAA@AAAA.com" --domains "*.AAA.com" --authenticator dns-aliyun --dns-aliyun-credentials "/etc/letsencrypt/credentials/credentials-13"
An unexpected error occurred:
AttributeError: module 'certbot.interfaces' has no attribute 'IAuthenticator'
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /tmp/certbot-log-i3b4nos8/log or re-run Certbot with -v for more details.
Nginx Proxy Manager Version
v2.9.19
To Reproduce
Steps to reproduce the behavior:
dns_aliyun_access_key = KKKKEEEYYY
dns_aliyun_access_key_secret = secretsecretsecretsecret
Expected behavior
Screenshots
Operating System
Additional context
@Rynal commented on GitHub (Nov 25, 2022):
This Works as Temporary Workaround for me.
Open the Container Shell
docker exec -it nginxproxymanager_app_1 /bin/bash
apt update
apt dist-upgrade
apt install python3 python3-venv libaugeas0
python3 -m venv /opt/certbot/
/opt/certbot/bin/pip install --upgrade pip
/opt/certbot/bin/pip install certbot==1.32.0 certbot-apache==1.32.0 acme==1.32.0
@naoki66 commented on GitHub (Nov 26, 2022):
Error: Command failed: certbot certonly --config "/etc/letsencrypt.ini" --cert-name "npm-15" --agree-tos --email "MAIL" --domains "*.AAA.com" --authenticator dns-aliyun --dns-aliyun-credentials "/etc/letsencrypt/credentials/credentials-15"
An unexpected error occurred:
AttributeError: module 'certbot.interfaces' has no attribute 'IAuthenticator'
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /tmp/certbot-log-7ncs4i4z/log or re-run Certbot with -v for more details.
[root@docker-nginx-proxy-manager:/app]# cat /tmp/certbot-log-7ncs4i4z/log
2022-11-26 10:32:24,165:DEBUG:certbot._internal.log:Exiting abnormally:
Traceback (most recent call last):
File "/usr/local/bin/certbot", line 8, in
sys.exit(main())
File "/usr/local/lib/python3.7/dist-packages/certbot/main.py", line 19, in main
return internal_main.main(cli_args)
File "/usr/local/lib/python3.7/dist-packages/certbot/_internal/main.py", line 1707, in main
plugins = plugins_disco.PluginsRegistry.find_all()
File "/usr/local/lib/python3.7/dist-packages/certbot/_internal/plugins/disco.py", line 208, in find_all
cls._load_entry_point(entry_point, plugins)
File "/usr/local/lib/python3.7/dist-packages/certbot/_internal/plugins/disco.py", line 215, in _load_entry_p
oint
plugin_ep = PluginEntryPoint(entry_point)
File "/usr/local/lib/python3.7/dist-packages/certbot/_internal/plugins/disco.py", line 56, in init
self.plugin_cls: Type[interfaces.Plugin] = entry_point.load()
File "/usr/local/lib/python3.7/dist-packages/pkg_resources/init.py", line 2450, in load
return self.resolve()
File "/usr/local/lib/python3.7/dist-packages/pkg_resources/init.py", line 2456, in resolve
module = import(self.module_name, fromlist=['name'], level=0)
File "/usr/local/lib/python3.7/dist-packages/certbot_dns_aliyun/dns_aliyun.py", line 20, in
@zope.interface.implementer(interfaces.IAuthenticator)
AttributeError: module 'certbot.interfaces' has no attribute 'IAuthenticator'
2022-11-26 10:32:24,165:ERROR:certbot._internal.log:An unexpected error occurred:
2022-11-26 10:32:24,165:ERROR:certbot._internal.log:AttributeError: module 'certbot.interfaces' has no attribu
te 'IAuthenticator'
@Jonohas commented on GitHub (Nov 26, 2022):
Having the same issue
@Cheety commented on GitHub (Nov 26, 2022):
Me too
@spoit commented on GitHub (Nov 27, 2022):
Possibly related to https://github.com/NginxProxyManager/nginx-proxy-manager/issues/2420 and/or https://github.com/NginxProxyManager/nginx-proxy-manager/issues/2427 ?
@fiepfiep commented on GitHub (Nov 27, 2022):
same issue.
would reverting to a previous image help?
@LTAdmin87 commented on GitHub (Nov 28, 2022):
This worked for me, but had to use command "pip3" instead of "/opt/certbot/bin/pip"
@saffronjam commented on GitHub (Nov 28, 2022):
Same issue, with PowerDNS
@fiepfiep commented on GitHub (Nov 28, 2022):
it seems updating the pip packages solves the issue. time for the devs to create a new image.
@skye-z commented on GitHub (Nov 29, 2022):
This problem is caused by the wrong version of certbot, please go inside the docker container and execute the following command 👇
@spoit commented on GitHub (Nov 29, 2022):
Can confirm that https://github.com/NginxProxyManager/nginx-proxy-manager/issues/2430#issuecomment-1329981484 fixed it for me as well
edit: typo
@bkakilli commented on GitHub (Nov 30, 2022):
I can confirm that https://github.com/NginxProxyManager/nginx-proxy-manager/issues/2430#issuecomment-1329981484 fixed it. But certain lines are not needed and can be confusing for others, so the updated one:
Note: I had to request the certifate twice from LetsEncrypt. My first trial gave an error (a different one), so you might need to try a few times until you get it.
Thanks @Rynal @skay-zhang
@Misterbabou commented on GitHub (Dec 1, 2022):
Same issue for me. I had to go back to previous version (2.9.18)
@boertianxia commented on GitHub (Dec 2, 2022):
For me, https://github.com/NginxProxyManager/nginx-proxy-manager/issues/2430#issuecomment-1329981484 works.
But note, for example, I select Dynu DDNS on the web page, if no version is specified, it will automatically use certbot-dns-dynu==0.0.4 and update certbot==2.0.0, even if certbot==1.32.0 was set before, This is why some people still have no effect even after executing the above script
So you need to manually install the previous version:
The same for other plugins(cerbot-dns-xxx), you can go to pypi to check the historical version of certbot-dns-xxx, use "pip3 freeze" to view the current local certbot and plugin versions .
The script below works for me(docker image: jc21/nginx-proxy-manager:2.9.19)
@axza commented on GitHub (Dec 2, 2022):
came here because of:
Temporary fix with previous versions would be
@lucidnx commented on GitHub (Dec 6, 2022):
Thanks for temp fix :)
@LanceMcCarthy commented on GitHub (Dec 25, 2022):
Thank you! This also seems to fix the issue with "test server reachability" feature on the SSL page, too.
@a3gill commented on GitHub (Aug 23, 2023):
This is it. It's what finally worked for me. DNS provider for GoDaddy was leading to the failure, but only because it bumped the version of certbot above
2.I mixed a few approaches from above, but the key for me was pinning all the important certbot packages down to
1.32while installing the DNS provider package with the following:@github-actions[bot] commented on GitHub (Apr 22, 2024):
Issue is now considered stale. If you want to keep it open, please comment 👍
@github-actions[bot] commented on GitHub (Jun 14, 2025):
Issue was closed due to inactivity.