ERRO DE CERTBOT DO APACHE

ERRO DE CERTBOT DO APACHE

Estou configurando https em um servidor apache local usando certbot, mas recebo o erro abaixo:

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: www.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for digierp.com
Enabled Apache rewrite module
Waiting for verification...
Challenge failed for domain digierp.com
http-01 challenge for digierp.com
Cleaning up challenges
Some challenges have failed.

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

   Domain: www.example.com
   Type:   connection
   Detail: 110.40.19...: Fetching
   http://example.com/.well-known/acme-challenge/X3IbvKI9gbZu1.........:
   Connection refused

   To fix these errors, please make sure that your domain name was
   entered correctly and the DNS A/AAAA record(s) for that domain
   contain(s) the right IP address. Additionally, please check that
   your computer has a publicly routable IP address and that no
   firewalls are preventing the server from communicating with the
   client. If you're using the webroot plugin, you should also verify
   that you are serving files from the webroot path you provided.

Este é o meu arquivo /etc/apache2/sites-available/exapmlee.conf

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName examplee
    ServerAlias www.example.com
    DocumentRoot /var/www/examplee
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Se eu pesquisar em example.com, entendo isso

;; ANSWER SECTION:
example.com.        0   IN  A   127.0.0.1

/etc/hosts

127.0.0.1       localhost
127.0.1.1       digierp-Joy

# 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

127.0.0.1       example.com

Onde o sistema está conseguindo esse ip 110.40.19...?

Alguma sugestão sobre o erro acima?

Responder1

Meta: Corrigi sua formatação e restaurei # que é na verdade uma parte necessária da sintaxe de /etc/hosts; por favor clique no ? ícone na janela de edição e leia a ajuda para 'código' (e talvez outros também)

Observe que isso www.{something}não é o mesmo que {something}embora elespoderiamapear para o(s) mesmo(s) endereço(s?) e host(s?).

É evidente a partir do log que você está realmente solicitando um certificado para digierp.como qual mapeia no DNS público para 110.40.197.199, e o mesmo acontece com www.digierp.comqual certbot também deveria ter solicitado a configuração que você meio que mostra, mas que aparentemente não foi tentada porque o primeiro desafio falhou.

Para obter um certificado do LetsEncrypt usando o desafio http-01, seu servidor deve estar acessível na Internet pública no endereço determinado pelo DNS público. LetsEncrypt não consegue ver o que está em seu local /etc/hostse, se pudesse, não confiaria nele, porque o objetivo de um certificado de uma CA pública como LE é queoutras pessoas em todo o mundopode confiar na identidade do seu servidor.

Sevocê controla o DNS para este domínio, o que você não disse e sua postagem não aparece, você pode obter um certificado LE para o nome de um servidor somente local usando o desafio dns-01; dependendo do provedor de DNS que você está usando, pode haver um plugin para ele ou pode ser necessário fazer isso manualmente. Esse certificado poderia então ser usado com clientes que mapeiam localmente [www.]digierp.compara 127.0.0.1 ou outro endereço local usando /etc/hosts ou similar.


Para obter um certificado da LE ou da maioria das CAs públicas, você deve 'controlar' um nome de domínio registrado publicamente. Na prática, isso significa pagar por isso ou conseguir que alguém (que pague) o forneça a você; por exemplo, se você for membro da equipe de uma escola, eles poderão fornecer um subdomínio sob o domínio deles. De algumas CAs públicas, você pode obter um certificado para um endereço IP, mas apenas um roteável publicamente e atribuído estaticamente, definitivamente NÃO endereços destinados ao uso local, como loopback (127.0.0.1 ou ::1), rfc1918 ou fe80:/ 16.

Fora das CAs públicas, se você não estiver em uma organização que administra uma CA 'local', como algumas grandes empresas e agências governamentais, você pode gerar simplesmente um certificado autoassinado, como observou Falcon, ou configurar seu próprio certificado um pouco mais complicado. CA privada e pessoal (na qual somente você e mais ninguém confia). Veja minha lista de links para perguntas sobre este assunto, em várias pilhas, emhttps://stackoverflow.com/questions/69499225/how-to-solve-the-problem-of-self-signed-ssl-certificates-for-sites-intended-to-b.

Responder2

Você está tentando obter um certificado do letsencrypt parawww.exemplo.com? Você não pode fazer isso. Não é seu.

Vejo que você está fazendo algumas coisas diferentes. Você solicitou ao certbot um certificado parawww.exemplo.commas o resto da sua pergunta é sobre example.com. Essas são duas coisas diferentes; o www não está implícito de forma alguma. É comum, porém, obter um certificado para amboswww.exemplo.come exemplo.com,onde exemplo.com é o seu domínio.

Talvez seu domínio seja digiterp.com? Você o editou em alguns lugares, mas não em outros.

Fora isso, geralmente você está usando as ferramentas corretamente, eu acho. Mas letsencrypt não é uma ferramenta local. O Certbot pede ao letsencrypt para verificar seu controle do domínio usando o protocolo ACME pela Internet e, em seguida, fornece o certificado. Você não pode usá-lo ao tentar executar um servidor apenas em loopback.

Para usar letsencrypt, defina o DNS (não o arquivo hosts) para apontar para o servidor no qual você está executando seu site. Se precisar fazer testes locais, use alguma outra ferramenta; algumas pessoas emitem um certificado autoassinado e o adicionam ao armazenamento confiável (ou ignoram os avisos de TLS).

informação relacionada