nginx cannot load certificate fullchain.pem – Certbot sabit

hata nginx cannot load certificate path/fullchain.pem sertifikaları sildikten sonra NGINX hizmetini test ettiğimizde görünür Let’s Encrypt ile oluşturulmuş Certbot.

Sunucuda hata şu şekilde görünür:

nginx: [emerg] cannot load certificate "/etc/letsencrypt/live/example.com/fullchain.pem": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/letsencrypt/live/example.com/fullchain.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: configuration file /etc/nginx/nginx.conf test failed

Arka plan nginx hatası

Önceki bir makalede, nasıl silebileceğinizi gösterdim. Certbot geçmişte sunucuda barındırılan ancak şu anda aktif olmayan alan adları. Eski alanları sil Certbot certificates (Sertifikayı Şifreleyelim).

Sertifikaları sildiğinizde SSL hala sunucuda barındırılan aktif etki alanları için komutla: sudo certbot delete, sertifika otomatik olarak silinir, ancak hizmet yeniden başlatılana kadar oturumlarda etkin kalır nginx. nginx -t komutuyla (hizmeti test etme) testin yukarıdaki hatayla başarısız olmasına şaşırabilirsiniz. Ancak çözüm çok basit.

nginx cannot load certificate
nginx cannot load certificate

Sabit nginx: [emerg] fullchain.pem sertifikasını yükleyemiyor

Bir sertifika yüklediğinizde SSL Let’s Encrypt tarafından Certbot, etki alanı için nginx'in yapılandırma dosyasında, sertifikanın varlığını gösteren birkaç satır eklenir. Sertifika silindiğinde, satırlar nginx yapılandırmasında kalır ve manuel olarak silinmeleri gerekir. Yani, aşağıdaki satırlar:

.....    

    listen 443 ssl http2; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}
server {
    if ($host = www.example.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = example.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    server_name example.com www.example.com;
    listen 80;
    return 404; # managed by Certbot

Sertifikasını kaldırdığınız alanın nginx confg dosyasından bu satırları sildikten sonra SSL, komutu yürütün nginx -t her şeyin yolunda olup olmadığını kontrol etmek için.

[root@server]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@server]# 

Artık hizmeti güvenle yeniden başlatabilirsiniz nginx.

Teknolojiye tutkulu, 2006 yılından beri StealthSettings.com'da yazıyorum. macOS, Windows ve Linux işletim sistemlerinde geniş deneyimim var, aynı zamanda programlama dilleri ve blog platformları (WordPress) ile online mağazalar için (WooCommerce, Magento, PrestaShop) bilgi sahibiyim.

nasıl » web Hosting » nginx cannot load certificate fullchain.pem – Certbot sabit
Leave a Comment