Skocz do zawartości
  • Cześć!

    Witaj na forum RootNode - aby pisać u nas musisz się zarejestrować, a następnie zalogować. Posty pisane z kont niezarejestrowanych nie są widoczne publicznie.

Sslforfree i dns ?


Igor

Rekomendowane odpowiedzi

Witam

 

Mój problem wyszedł podczas generowania certyfikatów na stronce ssfforfree.com. Otórz mam domenę (domena.tld)  w której założyłem poddomenę (sub.domena.tld) O ile dla subdomeny poszło wysztko ok to dla tld mam problem ponieważ przy kroku piątym ...

 

Verify successful upload by visiting the following links in your browser 
http://www.domena.tld/.well-known/acme-challenge/awoTDk92yuIdc0UCi61koQKRanwt6Gsofl7GP2EXN5s
http://domena.tld/.well-known/acme-challenge/P_QJwVKpJ0LNgckOXxpCdM3NSjgjNSxirqMAkpFSWoI

pierwszy link otwiera się  prawidłowo  a drugi z błędęm:

 

Nie znaleziono obiektu!
Nie znaleziono żądanego URLa na tym serwerze. Jeśli wpisałeś URLa ręcznie, sprawdź, czy nie się nie pomyliłeś.

Jeśli myślisz, że jest to błąd tego serwera, skontaktuj się z administratorem.

Error 404
www.sub.domena.tld
Thu Jun 21 13:53:26 2018
Apache/2.2.15 (CentOS)

Chodzi o serwer do jakiego odwołuje się link a mianowicie do poddomeny zamiast do domena.tld.

Zależy mi żeby mieć zarówno adres http:// jak i również www.

 

Moja konfiguracja DNS wygląda tak:

$TTL 86400
@       IN      SOA     ns1.domena.tld.    root.domena.tld. (
                                20181706        ;; serial
                                3H              ;; refresh
                                15M             ;; retry
                                1W              ;; expiry
                                1D)             ;; minimum
;;
        IN      NS      ns1.doemna.tld.
        IN      NS      ns1.innadomena.pl
;;
        IN      MX      5       poczta
        IN      A               89.111.222.333
;;
ns1             IN      A       89.111.222.333
poczta          IN      A       89.111.222.333
www             IN      A       89.111.222.333
;;
sub           	IN      CNAME   domena.tld.
www.sub       	IN      A       89.111.222.333

Wygląda tak jakby nie było adresu http:// dla domena.tld a jedynie www

Może ktoś mi podpowiedzieć jak to ustawić ?

 

 

Pozdrawiam

Igor

Odnośnik do komentarza
Udostępnij na innych stronach

Nie upieram się , że nie jest tak jak mówisz. Ja swoje vhosts ładuję z jednego pliku:

 

# --------------------------------------------------------- www.domena.tld

NameVirtualHost *:443

<VirtualHost *:443>
    Alias /images /var/www/domena/images
    DocumentRoot /var/www/domena
    ServerName www.domena.tld
    ServerAlias domena.tld
    ErrorLog logs/domena-error.log
    CustomLog logs/domena-access.log combined

    SSLEngine on
        SSLCertificateFile /etc/pki/tls/certs/domena/certificate.crt
        SSLCertificateKeyFile /etc/pki/tls/private/domena/private.key

</VirtualHost>

# --------------------------------------------------------- www.sub.domena.tld
<VirtualHost *:443>
    Alias /images /var/www/sub/images
    DocumentRoot /var/www/sub/
    ServerName www.sub.domena.tld
    ServerAlias sub.domena.tld
    ErrorLog logs/sub-error.log
    CustomLog logs/sub-access.log combined

    SSLEngine on
        SSLCertificateFile /etc/pki/tls/certs/sub/certificate.crt
        SSLCertificateKeyFile /etc/pki/tls/private/sub/private.key

</VirtualHost>

Walnąłem się gdzieś w konfiguracji ?

 

Pozdrawiam

Igor

Odnośnik do komentarza
Udostępnij na innych stronach

NameVirtualHost *:80

<VirtualHost *:80>
    Alias /images /var/www/domena/images
    DocumentRoot /var/www/domena
    ServerName www.domena.tld
    ServerAlias domena.tld
    Redirect / https://www.domena.tld/
    ErrorLog logs/domena-error.log
    CustomLog logs/domena-access.log combined
 </VirtualHost>

<VirtualHost *:80>
    Alias /images /var/www/sub/images
    DocumentRoot /var/www/sub
    ServerName www.sub.domena.tld
    ServerAlias sub.domena.tld
    Redirect / https://www.sub.domena.tld/
    ErrorLog logs/sub-error.log
    CustomLog logs/sub-access.log combined
 </VirtualHost>

 

Odnośnik do komentarza
Udostępnij na innych stronach

To teraz w DocumentRoot dla każdego vhost'a utwórz sobie dowolny plik (może być i tekstowy) w lokalizacji

/.well-known/acme-challenge/

i sprawdź curl'em po http (warto też i z opcją "-I" /duże i/) co Ci zwraca. Sprawdź czy dostaniesz zawartość tego testowego pliku, czy jednak nie.

Edytowane przez mariaczi
Odnośnik do komentarza
Udostępnij na innych stronach

 

Dzięki za podpowiedź. Trochę rzuciło to światło na problem. Prawa do katalogów z certyfikatami dla domena.tld i sub.domena.tld są identyczne:

# ls -al /var/www/domena/
drwxr-xr-x  3 root   root    4096 06-05 09:57 .well-known
drwxr-xr-x  2 root   root   4096 06-21 13:07 acme-challenge
-rw-r--r-- 1 apache apache   87 06-21 13:07 awoTDk92yuIdc0UCi61koQKRanwtxxxxx
-rw-r--r-- 1 apache apache   87 06-21 13:07 P_QJwVKpxxxxxxrqMAkpFSWoI

# ls -al /var/www/sub/
drwxr-xr-x  3 root   root    4096 06-05 09:57 .well-known
drwxr-xr-x  2 root   root   4096 06-21 13:07 acme-challenge
-rw-r--r-- 1 apache apache   87 06-21 11:26 DmQTZfdlgPCBElyyyyyyyyTR6KV9Gq7K849owg
-rw-r--r-- 1 apache apache   87 06-21 11:26 y0I0d_AndNR-xcu5A-ywAcUbbQyyyyyyyyiCSKI

Dziwna sprawa bo po http dla domena.tld  modsec blokuje mi dostęp.

# curl -I http://www.doemna.tld/.well-known/acme-challenge/
HTTP/1.1 403 Forbidden
Date: Tue, 26 Jun 2018 10:20:57 GMT
Server: Apache/2.2.15 (CentOS)
Vary: accept-language,accept-charset
Accept-Ranges: bytes
Connection: close
Content-Type: text/html; charset=iso-8859-1
Content-Language: en

# curl -I https://www.domena.tld/.well-known/acme-challenge/
curl: (60) Peer certificate cannot be authenticated with known CA certificates
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.

To samo dla sub.domena.tld zwraca prawidłowe dane:

# curl -I http://www.sub.domena.tld/.well-known/acme-challenge/
HTTP/1.1 302 Found
Date: Tue, 26 Jun 2018 10:41:13 GMT
Server: Apache/2.2.15 (CentOS)
Location: https://www.sub.domena.tld/.well-known/acme-challenge/
Connection: close
Content-Type: text/html; charset=iso-8859-1

# curl -I https://www.sub.domena.tld/.well-known/acme-challenge/
curl: (60) Peer certificate cannot be authenticated with known CA certificates
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.

 # tail -f /var/log/httpd/modsec_audit.log

--303c6e32-A--
[26/Jun/2018:12:20:57 +0200] WzITiVm83vIAAAZRjDsAAAAT 89.111.222.333 41858 89.111.222.333 80
--303c6e32-B--
HEAD /.well-known/acme-challenge/ HTTP/1.1
User-Agent: curl/7.19.7 (i386-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
Host: www.domena.tld
Accept: */*

--303c6e32-F--
HTTP/1.1 403 Forbidden
Vary: accept-language,accept-charset
Accept-Ranges: bytes
Connection: close
Content-Type: text/html; charset=iso-8859-1
Content-Language: en

--303c6e32-H--
Apache-Error: [file "/builddir/build/BUILD/httpd-2.2.15/modules/generators/mod_autoindex.c"] [line 2292] [level 3] Directory index forbidden by Options directive: /var/www/domena/.well-known/acme-challenge/
Apache-Handler: type-map
Stopwatch: 1530008457574754 4797 (- - -)
Stopwatch2: 1530008457574754 4797; combined=439, p1=151, p2=258, p3=0, p4=0, p5=29, sr=40, sw=1, l=0, gc=0
Producer: ModSecurity for Apache/2.7.3 (http://www.modsecurity.org/); OWASP_CRS/2.2.6.
Server: Apache/2.2.15 (CentOS)
Engine-Mode: "ENABLED"

Przyczyna ?

Odnośnik do komentarza
Udostępnij na innych stronach

Trochę zaganiany jestem dzisiaj :( Jak możesz to zerknij...

dla sub.domena.tld:

# cat plik.txt
sub.domena.tld


# curl http://www.sub.domena.tld/.well-known/acme-challenge/plik.txt
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="https://www.sub.domena.tld/.well-known/acme-challenge/plik.txt">here</a>.</p>
</body></html>

# curl -I  http://www.sub.domena.tld/.well-known/acme-challenge/plik.txt
HTTP/1.1 302 Found
Date: Tue, 26 Jun 2018 11:20:51 GMT
Server: Apache/2.2.15 (CentOS)
Location: https://www.sub.domena.tld/.well-known/acme-challenge/plik.txt
Connection: close
Content-Type: text/html; charset=iso-8859-1

dla domena.tld:

# cat plik.txt
domena.tld

# curl http://www.domena.tld/.well-known/acme-challenge/plik.txt
domena.tld

# curl -I http://www.domena.tld/.well-known/acme-challenge/plik.txt
HTTP/1.1 200 OK
Date: Tue, 26 Jun 2018 11:20:22 GMT
Server: Apache/2.2.15 (CentOS)
Last-Modified: Tue, 26 Jun 2018 11:17:52 GMT
ETag: "a6040c-b-56f89a6256343"
Accept-Ranges: bytes
Content-Length: 11
Connection: close
Content-Type: text/plain; charset=UTF-8
Content-Language: pl
Odnośnik do komentarza
Udostępnij na innych stronach

Chodzi o to, że musisz wykluczyć ".well-known/acme-challenge/" z Redirect. Zamieściłeś test tylko dla "www". Sprawdziłeś też dla "bez www"?

 

BTW. Jeśli wygenerujesz certyfikat dla 'domena.tld' to będzie on również ważny dla 'www.domena.tld'. Jeśli się mylę, niech mnie ktoś poprawi.

Edytowane przez mariaczi
Odnośnik do komentarza
Udostępnij na innych stronach

# curl -I  http://sub.domena.tld/.well-known/acme-challenge/plik.txt
HTTP/1.1 302 Found
Date: Tue, 26 Jun 2018 11:48:49 GMT
Server: Apache/2.2.15 (CentOS)
Location: https://www.sub.domena.tld/.well-known/acme-challenge/plik.txt
Connection: close
Content-Type: text/html; charset=iso-8859-1

[root@ns1 acme-challenge]# curl http://sub.domena.tld/.well-known/acme-challenge/plik.txt
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="https://www.sub.domena.tld/.well-known/acme-challenge/plik.txt">here</a>.</p>
</body></html>
# curl http://domena.tld/.well-known/acme-challenge/plik.txt
domena.tld

[root@ns1 acme-challenge]# curl -I http://domena.tld/.well-known/acme-challenge/plik.txt
HTTP/1.1 200 OK
Date: Tue, 26 Jun 2018 11:51:34 GMT
Server: Apache/2.2.15 (CentOS)
Last-Modified: Tue, 26 Jun 2018 11:17:52 GMT
ETag: "a6040c-b-56f89a6256343"
Accept-Ranges: bytes
Content-Length: 11
Connection: close
Content-Type: text/plain; charset=UTF-8
Content-Language: pl

 

Odnośnik do komentarza
Udostępnij na innych stronach

Ty na pewno tam masz wszystko dobrze? Przeładowałeś config Apache?


Bo w plikach konfiguracyjnych masz zrobiony redirect na https zarowno dla domeny jak i subdomeny:

Redirect / https://www.domena.tld/
Redirect / https://www.sub.domena.tld/

I dla subdomeny http to widać:

Location: https://www.sub.domena.tld/.well-known/acme-challenge/plik.txt

A dla standardowej domeny już nie.

 

Ja bym zrobił tak:

1) Jak możesz to wyłącz na razie te wszystkie przekierowania

2) Stwórz plik np. plik.txt w katalogu głównym. Przetestuj:

http://domena.tld/plik.txt

http://www.domena.tld/plik.txt

https://domena.tld/plik.txt

https://www.domena.tld/plik.txt

Działa? Jeśli tak to idziemy dalej. 

Jak ci nie działa,  to nie wiem, coś masz namieszane. Sprawdź jeszcze raz configi dla HTTP,  HTTPS i certyfikaty.

3) Przenieś plik do katalogu .well-known/acme-challenge i wykonaj ponownie wszystkie 4 testy:

http://domena.tld/.wll-known/acme-challenge/plik.txt

... itd

Działa? Idź dalej. Nie działa to sprawdź czy przypadkiem nie masz pliku .htaccess w katalogu który coś Ci miesza.

4) Włącz przekierowanie na https i znowu 4 testy.

Działa? OK. Nie działa? Nie wiem, niech się mądrzejsi wypowiedzą. Ale jak miałeś .htaccess to też może mieszać.

5) Dalej nie przechodzi certyfikacji? Nie ma bata, musi być literówka w nazwach pliku.

 

PS. Jakiś konkretny powód dla którego nie używasz certbota? Niby tylko co 3 miesiące trzeba odświeżać certyfikaty, ale na dłuższą metę to i tak męczące.

Edytowane przez nnd.newbie
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystając z forum, wyrażasz zgodę na: Warunki użytkowania, Regulamin, Polityka prywatności.