Portál AbcLinuxu, 14. května 2025 20:08

Dotaz: Apache HTTPS certifikáty LE - mod_md

3.10.2020 14:16 JSOB | skóre: 17 | blog: JSOB
Apache HTTPS certifikáty LE - mod_md
Přečteno: 513×
Odpovědět | Admin
Dobrý den Potřeboval bych poradit. Chci zřídit reverzní proxy server, který bude zároveň poskytovat SSL pomocí mod_md. Pak bych chtel pomocí ProxyPass presmerovat provoz jinam jiz jen pres HTTP. Postupoval jsem podle návodu na root.cz. Bohužel server poskytuje nedůvěryhodný certifikát vydaný Apache foundation. Nevím kde mám chybu. V /etc/apache2 se mi vytvoril adresar /md a dalsi podadresare /accounts /challenges /domains /staging. V adresari /domains se mi vytvoril podadresar podle nazvu virtualky a v nem jsou certifikaty. V adresari /challenges jsou ulozeny txt soubory podle nazvu dalsich subdomen uvedenych v direktive MDomain. Takze to asi nejak funguje. Jen nevim proc neustale nabizi ten neduveryhodny certifikat. Dekuji za pomoc

Ukazka z konce souboru apache2.conf. Znacka virtualhost a directory je bez znamenek .
MDomain neco.cz www.neco.cz demo.neco.cz neco.neco.cz
MDCertificateAgreement accepted
ServerAdmin admin@neco.cz
Virtualhost *:443
DocumentRoot /var/www/neco
ServerName neco.cz
ServerAlias www.neco.cz
Protocols h2 http/1.1 acme-tls/1
SSLEngine on
Directory /var/www/neco
allow from all
Options None
Require all granted
/Directory
/Virtualhost

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

3.10.2020 15:32 X
Rozbalit Rozbalit vše Re: Apache HTTPS certifikáty LE - mod_md
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co mas napsano v logu?
3.10.2020 18:09 JSOB | skóre: 17 | blog: JSOB
Rozbalit Rozbalit vše Re: Apache HTTPS certifikáty LE - mod_md
Příloha:
Zdravim. Diky za reakci. Vypis z error.log Apache je v příloze.
4.10.2020 09:59 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: Apache HTTPS certifikáty LE - mod_md
Odpovědět | | Sbalit | Link | Blokovat | Admin
A jsou správně doménové záznamy? Máte to na IPV6?
4.10.2020 10:16 JSOB | skóre: 17 | blog: JSOB
Rozbalit Rozbalit vše Re: Apache HTTPS certifikáty LE - mod_md
Ke kazde subdomene mam prislusny A zaznam. Mam jen IPv4 verejnou adresu. Nikde jsem necetl ze by mela byt IPv6 podminkou.
4.10.2020 14:47 X
Rozbalit Rozbalit vše Re: Apache HTTPS certifikáty LE - mod_md
Jak mas nakonfigurovany apache2 pro port 80? Protoze podle toho logu zkousi ACME challange pres port 80, ale nedostane nic:
...
http://neco.cz/.well-known/acme-challenge/NQpaucnM5UMKPgdbHJHS-4OovpA_fOzXOgGHKZi90w4
...
Not Found
a tak dale porad dokola. Muzes zkusit vynutit challange pres HTTPS pomoci:
MDCAChallenges tls-alpn-01
4.10.2020 20:29 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: Apache HTTPS certifikáty LE - mod_md
Jestli existuje i ipv6 záznam tak letsencrypt se nejprve snaží dostat na ipv6. Musel jsem u své domény zrušit ipv6 záznamy, protože mi to zčistajasna před několika lety fungovat.

V logu vidím toto:
https://acme-v02.api.letsencrypt.org/acme/chall-v3/7619796849/742_Sg","token":"NQpaucnM5UMKPgdbHJHS-4OovpA_fOzXOgGHKZi90w4","validationRecord":[{"url":"http://neco.cz/.well-known/acme-challenge/NQpaucnM5UMKPgdbHJHS-4OovpA_fOzXOgGHKZi90w4","hostname":"neco.cz","port":"80","addressesResolved":["62.77.113.171","2a02:2b88:1:4::16"],"addressUsed":"2a02:2b88:1:4::16"}]}]}
Píše "addressUsed":"2a02:2b88:1:4::16" což by mohlo znamenat, že to zkouší a ten ipv6 záznam, ale ten by mohl vést úplně někam jinam pokud jste ho nenastavoval..
4.10.2020 20:56 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: Apache HTTPS certifikáty LE - mod_md
Podle whois vidím, že ipv6 ukazuje na Wedos, tam asi spravujete své dns záznamy, nebo se pletu? Ovšem Ipv4 ukazuje úplně někam jinam. Musíte tedy podle mě zrušit ty Ipv6 A záznamy na Wedosu a začne vám to fungovat.
5.10.2020 13:02 JSOB | skóre: 17 | blog: JSOB
Rozbalit Rozbalit vše Re: Apache HTTPS certifikáty LE - mod_md
Příloha:
Tak uz mi certifikaty fungují. Moc děkuji a bylo to těmi IPv6 záznamy. Mám však další problém s tím přesměrováním. Pokud jsem měl root adresaře umístěny na tom reverznim proxy serveru tak to vše fungovalo podle mých představ včetně SSL a aliasu (www). Problém nastal po přesměrování na server za proxy, kde skutečně web poběží. Funguje to jen v případě zadání https://nejakadomena.cz. Ostatní adresy http://nejakadomena.cz, http://www.nejakadomena.cz a https://www.nejakadomena.cz nefungují. Objeví se default apache stránka na správném cílovém serveru. Na cílovém serveru je vytvořena pouze virtuálka name-based nejakadomena.cz:80. Předpokládám že to souvisí s directivou ProxyPassReverse / https://www.nejakadomena.cz/. Předpokládám, že veškeré přesměrování se provede na tom proxy serveru jak mám v configu apache. Nebo se mýlím? Více viz. přiložená konfigurace v txt souboru Predem dekuji
5.10.2020 13:25 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: Apache HTTPS certifikáty LE - mod_md
Zdravím. Já mod_md neznám a nepoužívám, mám ale v jedné instalaci podobnou konfiguraci - "apache jako rproxy -> apache jako web server" a funguje to bez problémů.

Používám ubuntu a tam je konfigurace standartně řešena povolováním jednotlivých websites ( a2ensite neco.conf ) kdy se udělá symlink z /etc/apache2/sites-available/ do /etc/apache2/sites-enabled/

Podle toho co vidím vám chybí přesměrování z non ssl na ssl, ovšem nevím jak je to řešeno v mod_md s výjimkou pro LE well-known

mám v konfiguraci pro /VirtualHost *:80 toto:
ProxyPass /.well-known !
Alias /.well-known "/var/www/domena/.well-known"
/Directory "/var/www/domena/.well-known">
#      Require all granted
      order allow,deny
      Allow from all
      AllowOverride All
      AddDefaultCharset Off
      Header set Content-Type "text/plain"
//Directory> 

/ifmodule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/\.well\-known/acme\-challenge/
    #RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    RewriteRule ^/(.*)$ https://%{SERVER_NAME}/$1 [R,L]
//ifmodule>
potřebujete tedy přesměrovat na rproxy provoz z http na https. Pak vám to bude fungovat. Samosebou jsem musel upravit tagy u /Directory a /ifmodule aby tohle prošlo.
5.10.2020 13:59 JSOB | skóre: 17 | blog: JSOB
Rozbalit Rozbalit vše Re: Apache HTTPS certifikáty LE - mod_md
Ale já tam mám direktivu Redirect 301 / https://www.nejakadomena.cz/ , která mi přesměrování z http na https zajišťuje. Když mám root adresáře na tom rproxy a neposílám to na ten další server tak vše funguje jak chci.
Řešení 1× (majales)
5.10.2020 14:13 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: Apache HTTPS certifikáty LE - mod_md
Z toho co jste napsal, není jasné jestli vám funguje dobře ten redirekt "Redirect 301 / https://www.nejakadomena.cz/" Doporučuji nastavit logy separátně pro nonssl a ssl část a zkusit debug z prohlížeče. Doporučuji ještě dvě důležité direktivy.
ProxyRequests off
ProxyPreserveHost On
Přičemž vám tam asi chybí ta druhá - při přesměrování nedojde k zachování cílového hosta v požadavku a proto to skončí na defaultu rproxy.
5.10.2020 15:08 JSOB | skóre: 17 | blog: JSOB
Rozbalit Rozbalit vše Re: Apache HTTPS certifikáty LE - mod_md
Příloha:
Tak už mi to funguje. Díky za nakopnutí. Ten redirect musí být na name-based. Na alias to nestačí jak jsem si myslel. V příloze funkční konfigurace. Děkuji všem zúčastněným.
5.10.2020 16:44 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: Apache HTTPS certifikáty LE - mod_md
Důrazně doporučuji nastavit
ProxyRequests Off
Tato direktiva slouží pro Forward Proxy, nikoliv pro reverzní proxy. Pomocí nastavení "On" si tak můžete snadno ze svého serveru udělat open relay! viz dokumentace https://httpd.apache.org/docs/2.4/mod/mod_proxy.html

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.