2017-02-12 12 views
0

Я знаю, что этот вопрос задавался несколько раз, но мне нужна определенная помощь, поскольку я принимал советы от нескольких других потоков, и с этой точки зрения ничего не сработало.certbot-auto: у клиента нет достаточного разрешения

Я пытаюсь обновить свой SSL-сертификат в Ubuntu 14.04, используя certbot-auto renew, и я запускаю сервер Apache2 и nginx. Я получаю следующий результат для certbot-auto renew:

[email protected]:/# sudo certbot-auto renew 
    Saving debug log to /var/log/letsencrypt/letsencrypt.log 

    ------------------------------------------------------------------------------- 
    Processing /etc/letsencrypt/renewal/my-domain.com.conf 
    ------------------------------------------------------------------------------- 
    Cert is due for renewal, auto-renewing... 
    Renewing an existing certificate 
    Performing the following challenges: 
    http-01 challenge for my-domain.com 
    Waiting for verification... 
    Cleaning up challenges 
    Attempting to renew cert from /etc/letsencrypt/renewal/my-domain.com.conf produced an unexpected error: Failed authorization procedure. my-domain.com (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://my-domain.com/.well-known/acme-challenge/ailNmgZADpb4QBipKM57sOi9w3PwNkwBwVFiRYs7i40: "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 
    <html><head> 
    <title>404 Not Found</title> 
    </head><body> 
    <h1>Not Found</h1> 
    <p". Skipping. 

    All renewal attempts failed. The following certs could not be renewed: 
    /etc/letsencrypt/live/my-domain.com/fullchain.pem (failure) 
    1 renew failure(s), 0 parse failure(s) 

    IMPORTANT NOTES: 
    - The following errors were reported by the server: 

    Domain: my-domain.com 
    Type: unauthorized 
    Detail: Invalid response from 
    http://my-domain.com/.well-known/acme-challenge/ailNmgZADpb4QBipKM57sOi9w3PwNkwBwVFiRYs7i40: 
    "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 
    <html><head> 
    <title>404 Not Found</title> 
    </head><body> 
    <h1>Not Found</h1> 
    <p" 

    To fix these errors, please make sure that your domain name was 
    entered correctly and the DNS A record(s) for that domain 
    contain(s) the right IP address. 

Я обеспечил папка .well-known существует в /var/www/my-domain.com/public_html и когда я перейти к http://my-domain.com/.well-known/ в моем браузере, я могу увидеть содержимое этого каталога. Я также добавил папку acme-challenge в .well-known и включил файл test.txt для тестирования; Мне удалось получить доступ к каталогу и текстовому файлу в моем браузере.

Я обнаружил, что папка acme-challenge не была создана, когда я запустил команду certbot-auto, так что это проблема с разрешениями. Я запускаю certbot-auto в качестве пользователя root, но также дал права на запись пользователям www-data в папках .well-known и acme-challenge (пользователи root и www-data запускают процессы apache2 и nginx).

Даже после предоставления разрешения на запись я все еще получаю ошибку 404, указанную выше.

У меня также есть автоматизированный процесс продления сертификата, запущенный через crontab, и у меня есть выход, который регистрируется в локальном файле. В этом файле журнала я вижу, что запрос на обновление, казалось, работал правильно, пока certbot-auto не был обновлен с 0.9.3 до 0.10.1. Вот пример из файла журнала, когда обновление имело место:

------------------------------------------------------------------------------- 
    Processing /etc/letsencrypt/renewal/offensively-bad.com.conf 
    ------------------------------------------------------------------------------- 

    The following certs are not due for renewal yet: 
    /etc/letsencrypt/live/offensively-bad.com/fullchain.pem (skipped) 
    No renewals were attempted. 

    ------------------------------------------------------------------------------- 
    Processing /etc/letsencrypt/renewal/offensively-bad.com.conf 
    ------------------------------------------------------------------------------- 

    The following certs are not due for renewal yet: 
    /etc/letsencrypt/live/offensively-bad.com/fullchain.pem (skipped) 
    No renewals were attempted. 
    Upgrading certbot-auto 0.9.3 to 0.10.1... 
    Replacing certbot-auto... 
    Creating virtual environment... 
    Installing Python packages... 
    Installation succeeded. 

    ------------------------------------------------------------------------------- 
    Processing /etc/letsencrypt/renewal/offensively-bad.com.conf 
    ------------------------------------------------------------------------------- 

    All renewal attempts failed. The following certs could not be renewed: 
    /etc/letsencrypt/live/offensively-bad.com/fullchain.pem (failure) 
    IMPORTANT NOTES: 
    - The following errors were reported by the server: 

    Domain: offensively-bad.com 
    Type: unauthorized 
    Detail: Invalid response from 
    http://offensively-bad.com/.well-known/acme-challenge/tkSc8l-r1XVPIF5TosTbEXiYMa8sQnoXEjAEgAwRoqI: 
    "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 
    <html><head> 
    <title>404 Not Found</title> 
    </head><body> 
    <h1>Not Found</h1> 
    <p" 

    To fix these errors, please make sure that your domain name was 
    entered correctly and the DNS A record(s) for that domain 
    contain(s) the right IP address. 

Вы можете видеть, что после обновления, процесс начался сбой с 404 сообщением.

Я пробовал все советы, которые я мог найти в Интернете, и я полностью в тупике, поэтому любая помощь будет высоко оценена. Заранее спасибо!

ответ

1

Я должен был изменить этот конф файл: /etc/letsencrypt/renewal/offensively-bad.com.conf и изменить строку ниже [[webroot_map]]:

[[webroot_map]] 
offensively-bad.com = /path/to/what/certbot/thinks/is/the/correct/webroot/path/initially/specified/by/the/user 

В моем случае, я изменил его на

offensively-bad.com = /var/www/offensively-bad.com/public_html/ 

Благодаря форуму на letsencrypt за помощь меня.

 Смежные вопросы

  • Нет связанных вопросов^_^