Renew Failed NGINX

Hello, I’m having some issues renewing of my domains. i seeing error:
nginx: [emerg] Unknown curve name “secp384r1:prime256v1” (SSL:)

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. https://crt.sh/?q=example.com), so withholding your domain name here does not increase secrecy, but only makes it harder for us to provide help.

My domain is: spotqoe-api.ofisqoe.com

I ran this command: certbot renew

It produced this output:
Processing /etc/letsencrypt/renewal/spotqoe-api.ofisqoe.com.conf

Cert is due for renewal, auto-renewing…
Plugins selected: Authenticator nginx, Installer nginx
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
Renewing an existing certificate
Performing the following challenges:
tls-sni-01 challenge for spotqoe-api.ofisqoe.com
tls-sni-01 challenge for www.spotqoe-api.ofisqoe.com
nginx: [emerg] Unknown curve name “secp384r1:prime256v1” (SSL:)
Cleaning up challenges
Attempting to renew cert (spotqoe-api.ofisqoe.com) from /etc/letsencrypt/renewal/spotqoe-api.ofisqoe.com.conf produced an unexpected error: nginx restart failed:
b’’
b’’. Skipping.

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

The operating system my web server runs on is (include version): ubuntu 16.04 LTS

My hosting provider, if applicable, is:

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

The version of my client is (e.g. output of certbot --version or certbot-auto --version if you’re using Certbot): certbot 0.21.1

Nginx's ssl_ecdh_curve option only supports multiple curves with Nginx 1.11.0 or newer.

You need to find where it's set in Nginx's configuration and comment it out or remove it.

(The default would be just prime256v1, which is fine.)

The Certbot PPA has version 0.28.0. If you're using it, you can run sudo apt update and sudo apt upgrade or sudo apt full-upgrade to update Certbot.

i try to comment ssl_ecdh_curve in NGINX setting and try to renew again still get same error :

Processing /etc/letsencrypt/renewal/spotqoe-api.ofisqoe.com.conf

Cert is due for renewal, auto-renewing...
Plugins selected: Authenticator nginx, Installer nginx
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
Renewing an existing certificate
Performing the following challenges:
tls-sni-01 challenge for spotqoe-api.ofisqoe.com
tls-sni-01 challenge for www.spotqoe-api.ofisqoe.com
nginx: [emerg] Unknown curve name "secp384r1:prime256v1" (SSL:)
Cleaning up challenges
Attempting to renew cert (spotqoe-api.ofisqoe.com) from /etc/letsencrypt/renewal/spotqoe-api.ofisqoe.com.conf produced an unexpected error: nginx restart failed:
b''
b''. Skipping.

Cert not yet due for renewal
All renewal attempts failed. The following certs could not be renewed:
/etc/letsencrypt/live/spotqoe-api.ofisqoe.com/fullchain.pem (failure)

You can run this to display your parsed nginx configuration, and from there you can locate where the secp384r1:prime256v1 is coming from:

nginx -T
1 Like

i try it and display my parsed nginx configuration and i comment it still get same error.
......
......
......
#ssl_ecdh_curve prime256v1;
ssl_prefer_server_ciphers on;

That’s quite strange if it doesn’t come with anything else.

How about this:

grep -R secp384r1 /etc/nginx /etc/letsencrypt

How about looking for anything (even close to this):
grep -Eri 'ecdh|secp|prime' /etc/nginx

result : /etc/letsencrypt/options-ssl-nginx.conf:ssl_ecdh_curve secp384r1:prime256v1;

Cool, commenting out that one should fix it for you!

Of course, actually upgrading Certbot and nginx is preferable! You really must upgrade Certbot from the Ubuntu PPA, because yours is using TLS-SNI, which is being disabled imminently.

The it is in an included file.
[which should have been shown in the nginx -T output]

Thank you, it's work

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.