Как исправить ошибку настройки SSL с использованием certbot? - PullRequest
0 голосов
/ 09 декабря 2018

Я пытаюсь установить ssl для своего приложения php / laravel в Digital Ocean с Kubuntu 18, как в этой статье https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-18-04

Но я получил ошибку при попытке использовать certbot для получения бесплатного SSL-сертификата:

# sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
Apache Full                ALLOW       Anywhere                  
443                        ALLOW       Anywhere                  
80                         ALLOW       Anywhere                  
22/tcp                     ALLOW       Anywhere                                                                                                                                                                        
Apache Full (v6)           ALLOW       Anywhere (v6)                                                                                                                                                                   
443 (v6)                   ALLOW       Anywhere (v6)                                                                                                                                                                   
80 (v6)                    ALLOW       Anywhere (v6)                                                                                                                                                                   
22/tcp (v6)                ALLOW       Anywhere (v6)                                                                                                                                                                   

# sudo certbot --apache -d products-catalog.nilov-sergey-demo-apps.tk -d www.products-catalog.nilov-sergey-demo-apps.tk                                                                              
Saving debug log to /var/log/letsencrypt/letsencrypt.log                                                                                                                                                               
Plugins selected: Authenticator apache, Installer apache                                                                                                                                                               
Obtaining a new certificate                                                                                                                                                                                            
Performing the following challenges:
http-01 challenge for products-catalog.nilov-sergey-demo-apps.tk
http-01 challenge for www.products-catalog.nilov-sergey-demo-apps.tk
Waiting for verification...
Cleaning up challenges
Failed authorization procedure. www.products-catalog.nilov-sergey-demo-apps.tk (http-01): urn:ietf:params:acme:error:dns :: DNS problem: NXDOMAIN looking up A for www.products-catalog.nilov-sergey-demo-apps.tk

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

   Domain: www.products-catalog.nilov-sergey-demo-apps.tk
   Type:   None
   Detail: DNS problem: NXDOMAIN looking up A for
   www.products-catalog.nilov-sergey-demo-apps.tk

products-catalog.nilov-sergey-demo-apps.tk - это мой домен, который я получил на freenom.com, и при поиске я обнаружил подсказку, что мне нужно добавить A-запись для субдомена www

Я пытался добавить новую запись как https://imgur.com/a/ijFxlzN Но пытаясь поднять эту страницу, я получил:

• Error occured: Invalid value in dnsrecord

Что не так?Может ли новая запись стать проблемой моей проблемы?Или мне нужно двигаться другим способом?

ОБНОВЛЕНО # 2 Конфигурация в appache:

 <VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/lprods/public    
    ServerName products-catalog.nilov-sergey-demo-apps.tk
    ServerAlias products-catalog.nilov-sergey-demo-apps.tk

    <Directory /var/www/html/lprods/public>
      AllowOverride All
      Order Deny,Allow
      Allow from all
      Require all granted
    </Directory>

    Options FollowSymLinks
    DirectoryIndex index.php

    ErrorLog /var/www/html/lprods/storage/logs/error.log
    CustomLog /var/www/html/lprods/storage/logs/access.log combined
</VirtualHost>

со строкой в ​​/ etc / hosts

138.68.107.5  products-catalog.nilov-sergey-demo-apps.tk

Может ли это быть проблемой с моей проблемой?

ОБНОВЛЕНО # 3 Я сделал еще один обзор и обнаружил следующее:

IP моего сервера 138.68.107.4и под ssh я вхожу в консоль ОС как

ssh root@138.68.107.4

Но в моем файле / etc / hosts у меня были следующие строки, указывающие на некоторые другие хосты на этом сервере:

# 127.0.0.1 localhost
127.0.0.1 localhost.localdomain localhost
138.68.107.4  box.example.com box

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

138.68.107.4  votes.nilov-sergey-demo-apps.tk
138.68.107.5  products-catalog.nilov-sergey-demo-apps.tk
138.68.107.6  csvp.nilov-sergey-demo-apps.tk
...

Iизменил 3 последние строки как:

138.68.107.4  votes.nilov-sergey-demo-apps.tk
138.68.107.4  products-catalog.nilov-sergey-demo-apps.tk
138.68.107.4  csvp.nilov-sergey-demo-apps.tk

Но я все еще не уверен, является ли это допустимым значением, так как у меня снова следующая ошибка:

# sudo certbot --apache -d products-catalog.nilov-sergey-demo-apps.tk -d www.products-catalog.nilov-sergey-demo-apps.tk 
Saving debug log to /var/log/letsencrypt/letsencrypt.log 
Plugins selected: Authenticator apache, Installer apache 
Obtaining a new certificate 
Performing the following challenges: 
http-01 challenge for products-catalog.nilov-sergey-demo-apps.tk 
http-01 challenge for www.products-catalog.nilov-sergey-demo-apps.tk 
Waiting for verification... 
Cleaning up challenges 
Failed authorization procedure. www.products-catalog.nilov-sergey-demo-apps.tk (http-01): urn:ietf:params:acme:error:dns :: DNS problem: NXDOMAIN looking up 
A for www.products-catalog.nilov-sergey-demo-apps.tk 

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

   Domain: www.products-catalog.nilov-sergey-demo-apps.tk 
   Type:   None 
   Detail: DNS problem: NXDOMAIN looking up A for 
   www.products-catalog.nilov-sergey-demo-apps.tk

может причина этой ошибки быть неправильнойIP в / etc / hosts или какая-то другая проблема?

Спасибо!

Ответы [ 3 ]

0 голосов
/ 18 декабря 2018

Домен www.products-catalog.nilov-sergey-demo-apps.tk не разрешается:

https://www.whatsmydns.net/#A/www.products-catalog.nilov-sergey-demo-apps.tk

enter image description here

Так что это не проблема конфигурации сервера,вам просто нужно добавить запись субдомена www.products-catalog в вашем диспетчере DNS,

или удалить это: -d www.products-catalog.nilov-sergey-demo-apps.tk из команды certbot

0 голосов
/ 29 августа 2019

Если вы запускаете certbot с --manual certonly, а затем запускаете с опцией --apache, он «переустанавливает» сертификат на ваш сервер Apache.

Запуск:

sudo certbot --server https://acme-v02.api.letsencrypt.org/directory 
    -d *.domain.com --manual --preferred-challenges dns-01 certonly

Youзатем добавьте DNS TXT-запись и нажмите «Продолжить» в инструкции certbot.После завершения вы можете запустить простой --apache install, как это.

sudo certbot --server https://acme-v02.api.letsencrypt.org/directory  
    -d *.domain.com --apache

Это попросит переустановить сертификат, и вы можете просто выбрать это.

0 голосов
/ 18 декабря 2018

certbot жалуется на:

DNS problem: NXDOMAIN looking up A for
www.products-catalog.nilov-sergey-demo-apps.tk

a) локальный файл /etc/hosts не является открытым DNS файлом зоны ... просто добавьте имя домена;поскольку заголовок узла HTTP различается между виртуальным хостом: 138.68.107.4 nilov-sergey-demo-apps.tk при использовании файла зоны DNS нет необходимости добавлять их туда, как в localhost.

b), а затем либоиспользуйте команду certbot без несуществующего виртуального хоста www:

sudo certbot --apache -d products-catalog.nilov-sergey-demo-apps.tk

или fix DNS и виртуального хоста, чтобы обслуживать виртуальный wwwхозяйничать;тогда они должны работать для обоих.ожидается A «адресная» запись;но предоставляется CNAME запись «общего имени».чтобы исправить это, вам просто нужно изменить тип с CNAME на A и подождать, пока он не будет распространен.

убедитесь сами: non-www и www.HTTPS также вообще не отвечает.

c) и для исправления конфигурации виртуального хоста необходимо добавить правильную ServerAlias:

ServerName products-catalog.nilov-sergey-demo-apps.tk
ServerAlias www.products-catalog.nilov-sergey-demo-apps.tk
...