Version Conflict / Automatic Renewal Help


Please fill out the fields below so we can help you better. Note: you must provide your domain name to get help. Domain names for issued certificates are all made public in Certificate Transparency logs (e.g., so withholding your domain name here does not increase secrecy, but only makes it harder for us to provide help.

My domain is:

I ran this command: sudo certbot --nginx -d -d

It produced this output: An unexpected error occurred:
VersionConflict: (certbot 0.25.1 (/usr/lib/python2.7/site-packages), Requirement.parse(‘certbot==0.20.0’))
Please see the logfile ‘/tmp/tmp5oiGUH’ for more details.

/tmp/tmp5oiGUH contents:
2018-07-09 14:09:00,499:DEBUG:certbot.log:Exiting abnormally:
Traceback (most recent call last):
File “/bin/certbot”, line 9, in
load_entry_point(‘certbot==0.25.1’, ‘console_scripts’, ‘certbot’)()
File “/usr/lib/python2.7/site-packages/certbot/”, line 1297, in main
plugins = plugins_disco.PluginsRegistry.find_all()
File “/usr/lib/python2.7/site-packages/certbot/plugins/”, line 201, in find_all
plugin_ep = PluginEntryPoint(entry_point)
File “/usr/lib/python2.7/site-packages/certbot/plugins/”, line 47, in init
self.plugin_cls = entry_point.load()
File “/usr/lib/python2.7/site-packages/”, line 2259, in load
if require: self.require(env, installer)
File “/usr/lib/python2.7/site-packages/”, line 2272, in require
File “/usr/lib/python2.7/site-packages/”, line 630, in resolve
raise VersionConflict(dist,req) # XXX put more info here
VersionConflict: (certbot 0.25.1 (/usr/lib/python2.7/site-packages), Requirement.parse(‘certbot==0.20.0’))
2018-07-09 14:09:00,499:ERROR:certbot.log:An unexpected error occurred:

My web server is (include version): nginx/1.12.2

The operating system my web server runs on is (include version): CentOS 7

My hosting provider, if applicable, is: Zelon

I can login to a root shell on my machine (yes or no, or I don’t know): Yes

I’m using a control panel to manage my site (no, or provide the name and version of the control panel): No

I also need help figuring out to auto-renew, it never seems to work no matter how much I try.


Either the Certbot installation is damaged, and contains files from different versions, or there are multiple Cerbot installations using different versions, and they’re trying to use each other’s files…

/usr/bin/certbot probably works.

If you run something like “find / -name 'certbot*' 2>/dev/null”, what does it find?

Do you know how this happened?

I don’t know how or where things are normally installed on CentOS.


/usr/bin/certbot doesn’t work, and it says


BTW ALLEGSA.COM is running a temp cert


Looks like you have some duplicate packages. This can happen if a yum operation (install, remove, upgrade, etc.) is interrupted for some reason, such as power loss.

You can check if this is the problem by running:

sudo package-cleanup --dupes

On some minimal/cloud systems, the package-cleanup utility isn’t installed by default and you may have to yum install yum-utils to use it.

If that lists packages that are duplicates, you can remove them all from the RPM database with:

sudo package-cleanup --cleandupes

This will fix up the RPM database so yum doesn’t get further confused, but it won’t actually fix certbot (or remove any stray files the duplicate packages may have left on your computer). To repair certbot, you will need to reinstall it once you have fixed the duplicates:

sudo yum reinstall python2-certbot

Other packages may have been broken by the event that caused the duplicates. You may want to save the output of the first command and reinstall any other packages it lists if you have problems with them.


I figured that out but can’t figure out auto renew


Attempting to renew cert ( from /etc/letsencrypt/renewal/ produced an unexpected error: Failed authorization procedure. (tls-sni-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Connection refused, (tls-sni-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Connection refused. Skipp


Is that really your domain?

It was registered May 28 and redirects to a “this domain is for sale!” marketing page.

The web server – an Amazon load balancer – doesn’t support HTTPS. Connecting to port 443 gives a “connection refused” error.


That’s an old domain that I didn’t renew sorry, let me give a different example


It’s working now, sorry for my mistake wrong thing


What about auto-renew w/ crontab?


There was a certbot timer installed. Check “systemctl list-timers” (or the CentOS equivalent, if it’s different) to make sure it’s still installed and running.

You can also wait until tomorrow-ish and use journalctl or read /var/log/letsencrypt/letsencrypt.log to make sure it’s working.