Может ли certbot возобновить --dry-run привести к ложному срабатыванию?

Если я запустил certbot Renew --dry-run и больше не буду вносить изменения в конфигурацию Nginx, я гарантирую, что certbot обновить будет успешно через 90 дней? Другими словами, может ли результат быть ложноположительным?

Если да, Кроме того, игнорирует подпути на http (http://www.example.com/ANY/THING перенаправляет на простой https://example.com) ...

У меня есть рабочая конфигурация Nginx, которая:

  1. Выполняет жесткое перенаправление (301) с http на https

  2. Кроме того, игнорирует подпути на http ( http: //www.example. com / ANY / THING перенаправляет на простой https://example.com )

  3. Обслуживает приложение с https

. Как я могу изменить файл конфигурации, чтобы:

  • Сгенерируйте сертификат HTTPS с помощью certbot / Let's Encrypt

  • Через 90 дней запустите certbot refresh без необходимости редактировать конфигурацию

0
задан 23 April 2018 в 10:23
1 ответ

В этом примере вместо приложения используется статический корень. Замените блок location / в разделе HTTPS соответствующим образом ...

1) Создайте файл conf (обратите внимание, что строки ssl_certificate закомментированы)

server {
    # naive redirect of HTTP to HTTPS
    server_name example.com;

    listen *:80;
    listen [::]:80;

    location ^~ /.well-known/acme-challenge/ {
        default_type "text/plain";
        root /var/www/letsencrypt;
    }

    location / {
        return 301 https://example.com;
    }
}

server {
    # main server block
    server_name example.com;

    # SSL configuration
    listen 443 ssl;
    listen [::]:443 ssl;
    # ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    # ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    root /var/www/html;
    index index.html index.htm;

    location / {
        # replace this with directives for your application
        try_files $uri $uri.html $uri/ =404;
    }

}

2) Запустите certbot

certbot certonly --authenticator webroot --webroot-path /var/www/letsencrypt -d example.com

3) Обновите файл конфигурации. Раскомментируйте строки ssl_certificate:

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

4) Перезапустите nginx

service nginx restart

5) Тестовое обновление (с принудительным обновлением, а не пробным запуском)

certbot renew --force-renewal

6) Через 90 дней, обновите как обычно ...

certbot renew
2
ответ дан 4 December 2019 в 13:26

Теги

Похожие вопросы