Проблемы с Certbot и Let's Encrypt на Nginx/Ubuntu14.04

Я следую этим инструкциям, чтобы установить Certbot и Let's Encrypt на моем сайте DigitalOcean с Nginx и Ubuntu 14.04, но я сталкиваюсь с проблемой.

Когда я добираюсь до части альфа-плагина: certbot --nginx я получаю следующий ответ:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
No names were found in your configuration files. Please enter in your domain
name(s) (comma and/or space separated)  (Enter 'c' to cancel):  

Я ввожу свое доменное имя, нажимаю Enter и получаю:

Obtaining a new certificate
Performing the following challenges:
tls-sni-01 challenge for **MYDOMAINNAME**
Cleaning up challenges
Cannot find a VirtualHost matching domain **MYDOMAINNAME**.

Я не уверен, как обойти эту ошибку. Вот мой серверный блок, доступный для сайтов:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/nginx/html;
    index index.html index.htm;

    # Make site accessible from http://localhost/
    server_name localhost;

    location ~ /.well-known {
        allow all;
        root /usr/share/nginx/html;
    }

    location / {

        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;
        # Uncomment to enable naxsi on this location
        # include /etc/nginx/naxsi.rules
    }
}

Есть идеи, где я ошибаюсь?


person Matt    schedule 01.06.2017    source источник


Ответы (2)


У вас нет блокировки сервера для MYDOMAINNAME.

server {
server_name MYDOMAINNAME;
...
}

Вы можете заменить localhost на MYDOMAINNAME по крайней мере в блоке сервера по умолчанию.

person Aleksey Deryagin    schedule 01.06.2017
comment
Пробовал поменять местами их в блоке сервера по умолчанию и перезапустить nginx, но я получаю тот же результат. - person Matt; 01.06.2017
comment
Каков результат nginx -t? - person Aleksey Deryagin; 01.06.2017
comment
Все в порядке. Нужно ли что-то менять в nginx.conf? Я только изменяю блок сервера по умолчанию в доступных сайтах - person Matt; 01.06.2017
comment
Нет. У вас есть доступ к MYDOMAINNAME через браузер или curl? - person Aleksey Deryagin; 01.06.2017
comment
На самом деле я добавил server { server_name MYDOMAINNAME; } в раздел http файла nginx.conf, и на этот раз процесс заработал. Не знаю почему, но это помогло! - person Matt; 01.06.2017

В nginx.conf добавлен блок сервера, что позволило завершить процесс:

server {
listen 80;
server_name projectapollo.io;
}
person Matt    schedule 01.06.2017
comment
Это также сработало для меня. Просто чтобы уточнить, убедитесь, что этот серверный блок находится не в корне файла, а внутри блока http nginx.conf. - person Jaime Soto; 10.07.2017