Обновление сертификата завершается неудачно с несанкционированным/неверным ответом/404 .хорошо известно/

#certificate #lets-encrypt #renewal

#сертификат #позволяет-шифровать #обновление

Вопрос:

Я понимаю, что этот вопрос довольно распространен, и я предпринял много попыток исправить это после множества различных вариаций на эту тему. В прошлом я не мог продлить сертификат let’s encrypt по истечении 3 месяцев из-за этой ошибки. С тех пор я перестроил сервер и начал все сначала. Однако на этот раз я начал с промежуточного сертификата, и, похоже, теперь я застрял с этим.

Это сервер rails, работающий на ubuntu 20.04 с nginx, настроенный с помощью Ansible в соответствии с книгой «Эффективные разработчики Rails».

Он не может обновить сертификаты, так как жалуется, что известный каталог/страница не существует:

 Obtaining a new certificate Performing the following challenges: http-01 challenge for ------.com.au Using default address 80 for authentication. Waiting for verification... Challenge failed for domain -----.com.au http-01 challenge for -----.com.au Cleaning up challenges Some challenges have failed.  IMPORTANT NOTES:  - The following errors were reported by the server:   Domain: -----.com.au  Type: unauthorized  Detail: Invalid response from  https://-----.com.au/.well-known/acme-challenge/DQ2urLrKOSQmBhtlciFcbfMOcPIltmAAdI3vrijWrsM  [103.208.218.34]: "lt;!DOCTYPE htmlgt;nlt;htmlgt;nlt;headgt;n lt;titlegt;The  page you were looking for doesn't exist (404)lt;/titlegt;n lt;meta  name="viewport" content"   To fix these errors, please make sure that your domain name was  entered correctly and the DNS A/AAAA record(s) for that domain  contain(s) the right IP address.  

Я удалил свои попытки разрешения из файла vhost conf ниже, поэтому он представляет собой оригинал…

 server {  listen nnn.nnn.nnn.nnn:80;  listen nnn.nnn.nnn.nnn:443 ssl;  server_name www.dddd.com.au;  return 301 https://dddd.com.au$request_uri;   ssl_certificate /etc/letsencrypt/live/dddd.com.au/fullchain.pem;  ssl_certificate_key /etc/letsencrypt/live/dddd.com.au/privkey.pem;  ssl_dhparam /etc/nginx/ssl/dddd.pem;  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;  ssl_prefer_server_ciphers on;  ssl_ciphers "EECDH AESGCM:EDH AESGCM:ECDHE-RSA-AES128-GCM-SHA256:AES256 EECDH:DHE-RSA-AES128-GCM-SHA256:AES256 EDH:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";  ssl_session_cache shared:SSL:10m;  ssl_ecdh_curve secp384r1;  ssl_session_tickets off;  ssl_stapling on;  ssl_stapling_verify on;   resolver 8.8.8.8 8.8.4.4 valid=300s;  resolver_timeout 5s;   add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";  add_header X-Frame-Options SAMEORIGIN always;  add_header X-Content-Type-Options nosniff;  }  server {  listen nnn.nnn.nnn.nnn:443 ssl;  server_name dddd.com.au;  ssl_certificate /etc/letsencrypt/live/dddd.com.au/fullchain.pem;  ssl_certificate_key /etc/letsencrypt/live/dddd.com.au/privkey.pem;  ssl_dhparam /etc/nginx/ssl/dddd.pem;  root /var/www/dddd/application/public;  client_max_body_size 4G;  keepalive_timeout 5;  access_log /var/log/nginx/access.dddd.com.au.log;  error_log /var/log/nginx/error.dddd.com.au.log;  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;  ssl_prefer_server_ciphers on;  ssl_ciphers "EECDH AESGCM:EDH AESGCM:ECDHE-RSA-AES128-GCM-SHA256:AES256 EECDH:DHE-RSA-AES128-GCM-SHA256:AES256 EDH:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";  ssl_session_cache shared:SSL:10m;  ssl_ecdh_curve secp384r1;  ssl_session_tickets off;  ssl_stapling on;  ssl_stapling_verify on;   resolver 8.8.8.8 8.8.4.4 valid=300s;  resolver_timeout 5s;   add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";  add_header X-Frame-Options DENY;  add_header X-Content-Type-Options nosniff;   location ~ ^/assets/ {  root /var/www/dddd/application/public;  gzip_static on;  expires max;  add_header Cache-Control public;  add_header ETag "";  break;  }   location / {  try_files $uri @app;  }   location @app {  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  proxy_set_header X-Forwarded-Proto $scheme;  proxy_set_header Host $http_host;  proxy_redirect off;  proxy_pass http://dddd;  }   error_page 502 = @maintenance;   location @maintenance {  root /var/www/dddd/shared/maintenance;  try_files $uri /index.html =502;  } }  

Заранее спасибо.

Комментарии:

1. Так… У меня только что произошло развитие событий… Я успешно удалил и повторно выдал сертификат как полный. Я думаю, что я также нашел блок расположения для .хорошо известного, который работает: «

Ответ №1:

Так…У меня только что произошло развитие событий…Я успешно удалил и повторно выдал сертификат как полный.

Я думаю, что я также нашел блок определения местоположения для .хорошо известно, что работает:

 location ~ ^/.well-known/ {  allow all;  }  

…и вставил это в ОБА серверных блока (для портов 80 и 443), так как я выполнил обновление «сухого запуска» и больше никаких ошибок…Я получил «Поздравляю, все обновления прошли успешно…»

Я рад получить какие-либо исправления к этому, так как я все еще совсем новичок в этом деле.

Тнх.