hata nginx cannot load certificate path/fullchain.pem Sertifikalı sildikten sonra Nginx hizmetini test ettiğimizde görünür Let’s Encrypt ile oluşturuldu Certbot.
içerik
Sunucuda hata şu şekilde görünüyor:
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 eroare nginx
Önceki bir makalede, sunucuda barındırılan ancak artık geçmişte aktif olmayan alanları nasıl silebileceğinizi gösterdim. Eski Alanlar Sertifika Sertifikalarını Sil (Sertifikayı Şifreleyelim).
Halen sunucuda barındırılan etkin alanlar için SSL sertifikalarını sildiğinizde, siparişle: sudo certbot delete, sertifika otomatik olarak silinir, ancak hizmet yeniden başlayana kadar oturumlarda aktif kalır nginx. Ningin -t komutunda (servis testi) yukarıdaki hatayla başarısız olmak için testi şaşırtabilirsiniz. Ancak çözüm çok basit.

Düzeltme Nginx: [Emer] Sertifikası Fullchain.pem yüklenemiyor
Bir SSL Sertifikası kurarken Let’s Encrypt Kavga ile, etki alanı için Nginx'in yapılandırma dosyasında, sertifikanın varlığını gösteren bazı satırlar vardır. Sertifika silindiğinde, satırlar Ningin Config'de kalır ve manuel olarak silinmelidir. Aşağıdaki satırları kastediyorum:
.....
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
SSL sertifikasını ortadan kaldırdığınız alanın Confg Ninx dosyasından bu satırları sildikten sonra siparişi 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]#
Şimdi hizmeti güvenli bir şekilde yeniden başlatabilirsiniz nginx.