#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), так как я выполнил обновление «сухого запуска» и больше никаких ошибок…Я получил «Поздравляю, все обновления прошли успешно…»
Я рад получить какие-либо исправления к этому, так как я все еще совсем новичок в этом деле.
Тнх.