Если я запустил certbot Renew --dry-run
и больше не буду вносить изменения в конфигурацию Nginx, я гарантирую, что certbot обновить
будет успешно через 90 дней? Другими словами, может ли результат быть ложноположительным?
Если да, Кроме того, игнорирует подпути на http (http://www.example.com/ANY/THING перенаправляет на простой https://example.com) ...
У меня есть рабочая конфигурация Nginx, которая:
Выполняет жесткое перенаправление (301) с http на https
Кроме того, игнорирует подпути на http ( http: //www.example. com / ANY / THING перенаправляет на простой https://example.com )
Обслуживает приложение с https
. Как я могу изменить файл конфигурации, чтобы:
Сгенерируйте сертификат HTTPS с помощью certbot / Let's Encrypt
Через 90 дней запустите certbot refresh
без необходимости редактировать конфигурацию
В этом примере вместо приложения используется статический корень. Замените блок 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