Fórum Root.cz
Hlavní témata => Software => Téma založeno: darebacik 05. 07. 2018, 08:22:04
-
Mam nejake weby s certifikatmi od letsencrypt. Vacsinou nemam problem nikde, ale ked chcem web prehliadat na android 6.0.1, tak stale hlasi
Vyskytli sa problemy s bezpecnostnym certifikatom
Ked kliknem na zobrazit certifikat, tak dostanem Certifikat nepochadza z doverihodnej autority
Minimalne je to tak na android 6.0.1 miui stable 8.5.3.0, prehliadac 8.7.7
-
Bez toho, abychom věděli jaké konkrétní weby to může být pouze pokus o trefu na slepo:
https://community.letsencrypt.org/t/incompatibility-with-android-6-0/37349
-
Posílá server kompletní certifikační cestu, tj. všechny certifikáty s výjimkou kořenového? Certifikáty Let's Encrypt jsou podepsané ještě další certifikační autoritou, a některé starší systémy neznají přímo certifikáty Let's Encrypt, ale znají tu nadřazenou certifikační autoritu (DST Root CA X3).
-
Napis web, rekneme ti jestli je problem na webu nebo u tebe.
-
S Androidem jsem měl přesně stejný problém a stačilo právě přibalit mezilehlý certifikát Let's Encrypt k certifikátu pro danou doménu, čímž již byla známá cesta až k (důvěryhodnému) kořeni.
-
S Androidem jsem měl přesně stejný problém a stačilo právě přibalit mezilehlý certifikát Let's Encrypt k certifikátu pro danou doménu, čímž již byla známá cesta až k (důvěryhodnému) kořeni.
Ako přibalit mezilehlý certifikát Let's Encrypt k certifikátu pro danou doménu
-
Ako přibalit mezilehlý certifikát Let's Encrypt k certifikátu pro danou doménu
Záleží na konkrétním serveru. Např. nginx umožňuje uvést zvlášť cestu k serverovému certifikátu a zvlášť k mezilehlému certifikátu autority, nebo dáte všechny certifikáty do jednoho souboru a uvedete cestu jenom k němu. Certifikáty se do daného souboru prostě nakopírují za sebou, takže v souboru je pak:
-----BEGIN CERTIFICATE-----
… 1. certifikát …
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
… 2. certifikát …
-----END CERTIFICATE-----
-
S Androidem jsem měl přesně stejný problém a stačilo právě přibalit mezilehlý certifikát Let's Encrypt k certifikátu pro danou doménu, čímž již byla známá cesta až k (důvěryhodnému) kořeni.
Ako přibalit mezilehlý certifikát Let's Encrypt k certifikátu pro danou doménu
Dostal jste odpověď už v prvním příspěvku, četl jste ten odkaz?
The website send incomplete chain of certificates. It should be configured to send fullchain.pem instead of cert.pem.
-
do confu pre vhost
/etc/apache2/sites-available/web.conf
som pribalil aj existujuci fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/web/fullchain.pem
restart apache
systemctl reload apache2
a problem pretrvava aj nadalej
-
Jestli to chápu správně, tak jste upravoval PEM soubor, ve kterém není certifikát, ale privátní klíč. Webserver ale klientovi (prohlížeči) posílá certifikát(y), ne privátní klíče, takže mezilehlé certifikáty musíte přibalit k certifikátu (často soubor s příponou .crt).
-
Když je tak tajné, jaký web to je, asi si budeš muset vystačit sám. Mohlo by pomoct https://www.ssllabs.com/ssltest/.
-
Jestli to chápu správně, tak jste upravoval PEM soubor, ve kterém není certifikát, ale privátní klíč. Webserver ale klientovi (prohlížeči) posílá certifikát(y), ne privátní klíče, takže mezilehlé certifikáty musíte přibalit k certifikátu (často soubor s příponou .crt).
V adresary /etc/letsencrypt/live/web/
mam symlinky na 4 subory
cert.pem
chain.pem
fullchain.pem
privkey.pem
ktore som vygeneroval prikazom./letsencrypt-auto certonly --webroot -w /var/www/web -d moj-web.com -d www.moj-web.com
Vystup z generovania
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/web/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/web/privkey.pem
Your cert will expire on 2018-08-31. To obtain a new or tweaked
version of this certificate in the future, simply run
letsencrypt-auto again. To non-interactively renew *all* of your
certificates, run "letsencrypt-auto renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
Ako som uviedol vyssie v prispevku, pridal som do
/etc/apache2/sites-available/web.conf
direktivu
SSLCertificateKeyFile /etc/letsencrypt/live/web/fullchain.pem
Ale vysledok sa nedostavil. myslel som si, ze mam tam chybu (key), cize som to upravil na
SSLCertificateFile /etc/letsencrypt/live/web/fullchain.pem
ale restart apache zlyhal (pre spatny config).
Když je tak tajné, jaký web to je, asi si budeš muset vystačit sám. Mohlo by pomoct https://www.ssllabs.com/ssltest/.
Web tu nechcem uvadzat, pretoze je to urceny len pre urcity okruh ludi a nechcem ho zverejnovat. Ten test som vcera spravil ... dostal som hodnotenie B.
Priznam sa, ze neviem velmi dobre po anglicky, ale test mal vystupy vacsinou v zelenych, resp. oranzovych cislach. Jedine cervenym bolo v sekcii Configuration - Handshake Simulation
IE 8 / XP No FS 1 No SNI 2 Server sent fatal alert: handshake_failure
Ak je potrebne dodat nejake vysledky neni problem (web tu ale nechcem zverejnovat)
-
Apache potřebuje znát jak privátní klíč (který používá při šifrování spojení), tak certifikát a případně certifikační cestu (kterými se prokazuje klientovi). Takže SSLCertificateKeyFile musí ukazovat na privátní klíč, a dále SSLCertificateFile na serverový certifikát (a mohou za něj být přidané mezilehlé certifikáty, v pořadí nejprve serverový certifikát a pak vždy certifikát, který byl použit k vystavení předchozího certifikátu v souboru), případně mezilehlé certifikáty mohou být v SSLCertificateChainFile.
Takže ve vašem případě:
SSLCertificateKeyFile /etc/letsencrypt/live/web/privkey.pem
SSLCertificateFile /etc/letsencrypt/live/web/cert.pem
SSLCertificateChainFile /etc/letsencrypt/live/web/chain.pem
Nezapomeňte na to, že certifikáty Let's Encrypt mají platnost jen tři měsíce, takže je potřeba je často obnovovat, ideálně automaticky skriptem třeba z cronu.
-
Pridal som tam vsetky certifikaty
SSLCertificateKeyFile /etc/letsencrypt/live/web/privkey.pem
SSLCertificateFile /etc/letsencrypt/live/web/cert.pem
SSLCertificateChainFile /etc/letsencrypt/live/web/chain.pem
SSLCertificateChainFile /etc/letsencrypt/live/web/fullchain.pem
a stejne to pise, ze certifikat pochadza z nedoverihodnej autority
-
Zkus to takhle:
SSLCertificateKeyFile /etc/letsencrypt/live/web/privkey.pem
SSLCertificateFile /etc/letsencrypt/live/web/fullchain.pem
Nic jiného, jen takto. A pozor na to co máš v SSLCertificateFile!
-
Ten test som vcera spravil ... dostal som hodnotenie B.
A nahlásilo ti to nějaké chain issues?
-
Pridal som tam vsetky certifikaty
SSLCertificateKeyFile /etc/letsencrypt/live/web/privkey.pem
SSLCertificateFile /etc/letsencrypt/live/web/cert.pem
SSLCertificateChainFile /etc/letsencrypt/live/web/chain.pem
SSLCertificateChainFile /etc/letsencrypt/live/web/fullchain.pem
a stejne to pise, ze certifikat pochadza z nedoverihodnej autority
A to vám Apache takhle vezme? A jste si jist, že si to přebere správně? Proč to zbytečně komplikujete a nedáte tam přesně tu konfiguraci, kterou jsem vám napsal? Případně variantu, kterou napsal ByCzech – pokud jsou certifikáty v fullchain.pem správně seřazené.
Jaké certifikáty vám server vrací si můžete ověřit pomocí openssl s_client. Např.:
% openssl s_client -connect root.cz:443
CONNECTED(00000003)
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = root.cz
verify return:1
---
Certificate chain
0 s:/CN=root.cz
i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
i:/O=Digital Signature Trust Co./CN=DST Root CA X3
---
Server certificate
-----BEGIN CERTIFICATE-----
[…]
Důležitá je ta část pod Certificate chain. Musí tam být dva certifikáty, 0 bude certifikát vašeho serveru (místo root.cz), 1 bude to samé, co je v tomto výpisu, protože root.cz také používá Let's Encrypt.
-
Zkus to takhle:
SSLCertificateKeyFile /etc/letsencrypt/live/web/privkey.pem
SSLCertificateFile /etc/letsencrypt/live/web/fullchain.pem
Nic jiného, jen takto. A pozor na to co máš v SSLCertificateFile!
V SSLCertificateFile mam len to co mi vygeneroval a poslal letsencrypt
Nefunguje to ani s privkey.pem a fullchain.pem (na desktope mam mint 17 a v opere, mozille a chrome funguje vsetko bez problemov).Ten test som vcera spravil ... dostal som hodnotenie B.
A nahlásilo ti to nějaké chain issues?
Ano vid. obr https://imgur.com/a/rMCkQSO dole som to dal do cerveneho ramceka
-
Pridal som tam vsetky certifikaty
SSLCertificateKeyFile /etc/letsencrypt/live/web/privkey.pem
SSLCertificateFile /etc/letsencrypt/live/web/cert.pem
SSLCertificateChainFile /etc/letsencrypt/live/web/chain.pem
SSLCertificateChainFile /etc/letsencrypt/live/web/fullchain.pem
a stejne to pise, ze certifikat pochadza z nedoverihodnej autority
A to vám Apache takhle vezme? A jste si jist, že si to přebere správně? Proč to zbytečně komplikujete a nedáte tam přesně tu konfiguraci, kterou jsem vám napsal? Případně variantu, kterou napsal ByCzech – pokud jsou certifikáty v fullchain.pem správně seřazené.
Jaké certifikáty vám server vrací si můžete ověřit pomocí openssl s_client. Např.:
% openssl s_client -connect root.cz:443
CONNECTED(00000003)
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = root.cz
verify return:1
---
Certificate chain
0 s:/CN=root.cz
i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
i:/O=Digital Signature Trust Co./CN=DST Root CA X3
---
Server certificate
-----BEGIN CERTIFICATE-----
[…]
Důležitá je ta část pod Certificate chain. Musí tam být dva certifikáty, 0 bude certifikát vašeho serveru (místo root.cz), 1 bude to samé, co je v tomto výpisu, protože root.cz také používá Let's Encrypt.
Ved presne tak som to spravil ako uvadzate.
Skusil som
SSLCertificateKeyFile /etc/letsencrypt/live/web/privkey.pem
SSLCertificateFile /etc/letsencrypt/live/web/cert.pem
SSLCertificateChainFile /etc/letsencrypt/live/web/chain.pem
ale aj
SSLCertificateKeyFile /etc/letsencrypt/live/web/privkey.pem
SSLCertificateFile /etc/letsencrypt/live/web/fullchain.pem
po reloade apache, android stale hlasi nedoverihodnu autoritu.
Co sa tyka overenia, tak mam tam len 0 (1 nie)
CONNECTED(00000003)
depth=0 CN = moj_web.com
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 CN = moj_web.com
verify error:num=27:certificate not trusted
verify return:1
depth=0 CN = moj_web.com
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
0 s:/CN=moj_web.com
i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
---
-
Ved presne tak som to spravil ako uvadzate.
Ne, v tom vašem výpisu jste měl navíc druhou volbu SSLCertificateChainFile.
Co sa tyka overenia, tak mam tam len 0 (1 nie)
To znamená, že Apache ten mezilehlý certifikát neposílá a to je ten důvod, proč tomu certifikátu Android nedůvěřuje. Podívejte se na ty soubory cert.pem a chain.pem. V každém by měl být jeden certifikát (jeden blok -----BEGIN CERTIFICATE----- […] -----END CERTIFICATE-----). V souboru cert.pem by měl být jen certifikát vašeho serveru, v souboru chain.pem jen certifikát /C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3. Následující příkazy vám obsah těch souborů a certifikátů v nich vložených vypíšou:
openssl x509 -text -noout -in /etc/letsencrypt/live/web/cert.pem
openssl x509 -text -noout -in /etc/letsencrypt/live/web/chain.pem
A mimochodem, pokud ty certifikáty k sobě nesedí (což je asi důvod, proč Apache ten mezilehlý certifikát neposílá), předpokládám, že o tom Apache něco napíše do logu, takže bych se podíval i tam. Předpokládám, že bude něco špatně v tom chain.pem. Možná tam máte vložený i ten serverový certifikát – pak ten soubor použijte pro SSLCertificateFile.
-
ale aj
SSLCertificateKeyFile /etc/letsencrypt/live/web/privkey.pem
SSLCertificateFile /etc/letsencrypt/live/web/fullchain.pem
po reloade apache, android stale hlasi nedoverihodnu autoritu.
Co sa tyka overenia, tak mam tam len 0 (1 nie)
A to je přesně ten problém. Web server neposlal fullchain nebo v tom souboru není fullchain, nebo máte někde ještě jinou definici SSL v konfigu Apache, která dostala z nějakého důvodu přednost ap.
Zajistěte aby web server poslal správný soubor, ve kterém bude správný řetězec certifikátů, pak to bude nejspíše fungovat, tak jak to funguje hromadě ostatních.
-
V kazdom *.pem subore mam len jeden certifikat
-----BEGIN CERTIFICATE----- […] -----END CERTIFICATE-----
len v subore fullchain.pem mam 2 certifikaty a to
1. obsah cert.pem
2. obsah chain.pem.
Cize ak tomu spravne chapem, tak v apache vhost configu pouzijem vzdy privkey.pem (to je tajny kluc, ktory sa nesmie nikdy dostat nikomu do ruk).
A nasledne pouzijem fullchain.pem (alebo na miesto neho, chain.pem a cert.pem).
Takze by to malo byt jedno ci v configu pouzijem
privkey.pem
fullchain.pem
alebo
privkey.pem
chain.pem
cert.pem
Ale nefungovalo mi to ani z jednou z moznosti.
Skusim este pozriet log z apache.
Co sa tyka certifikatov (ci k sebe sedia alebo nie) to ja asi ovplivnit neviem, spolieham sa na vygenerovane certifikaty letsencryptom
-
Takze by to malo byt jedno ci v configu pouzijem
privkey.pem
fullchain.pem
Tohle funguje, odzkoušeno... Pokud přes openssl vidíte jen jeden certifikát, znamená to, že se vám poslalo něco jiného nebo se konfigurace nenačetla znovu ap. Ve chvíli, kdy přes openssl uvidíte celý řetězec, měl by Android být spokojen.
-
Cize ak tomu spravne chapem, tak v apache vhost configu pouzijem vzdy privkey.pem (to je tajny kluc, ktory sa nesmie nikdy dostat nikomu do ruk).
A nasledne pouzijem fullchain.pem (alebo na miesto neho, chain.pem a cert.pem).
Ano.
Takze by to malo byt jedno ci v configu pouzijem
privkey.pem
fullchain.pem
alebo
privkey.pem
chain.pem
cert.pem
Ano, jenom musíte ty soubory uvést u správných direktiv, ale to asi máte, příklady tu byly několikrát.
Ale nefungovalo mi to ani z jednou z moznosti.
Buď v těch souborech máte špatné certifikáty, nebo měníte v Apache konfiguraci něčeho jiného (jiného virtualhosta, jiného serveru), než pak testujete. Těmi příkazy výše si můžete překontrolovat obsah těch certifikátů. Spíš bych to ale viděl na tu špatnou konfiguraci Apache – pak by bylo vhodné ji sem celou vložit, protože jinak můžeme jen hádat.
Co sa tyka certifikatov (ci k sebe sedia alebo nie) to ja asi ovplivnit neviem, spolieham sa na vygenerovane certifikaty letsencryptom
Předpokládám, že ta utilita generuje správné soubory. Ale mohl jste něco pokazit při tom testování.
-
Uz ma napadlo aj to, ze som si zmylil vhost, ale nie.
Moja konfiguracia vhostu je taka (tvorili sme ju spolu na fore (https://forum.root.cz/index.php?topic=18656.0)).
Config vhostu vyzera takto (domena je vymyslena aj adresar s certifikatmi je iny ako som uvadzal vyssie).
<VirtualHost *:80>
DocumentRoot /var/www/www.moj_web.com
ServerName moj_web.com
ServerAlias www.moj_web.com
ServerAdmin webmaster@moj_web.com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^moj_web\.com$ [NC]
RewriteRule ^(.*)$ http://www.moj_web.com$1 [R=301,NE,L]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]
</VirtualHost>
<VirtualHost *:443>
DocumentRoot /var/www/www.moj_web.com
ServerName moj_web.com
ServerAlias www.moj_web.com
ServerAdmin webmaster@moj_web.com
<IfModule mod_ssl.c>
SSLEngine on
SSLCertificateKeyFile /etc/letsencrypt/live/moj_web.com/privkey.pem
SSLCertificateFile /etc/letsencrypt/live/moj_web.com/cert.pem
SSLCertificateChainFile /etc/letsencrypt/live/moj_web.com/chain.pem
# SSLCertificateChainFile /etc/letsencrypt/live/moj_web.com/fullchain.pem
</IfModule>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^moj_web\.com$ [NC]
RewriteRule ^(.*)$ https://www.moj_web.com$1 [R=301,NE,L]
</VirtualHost>
-
Ten serverový certifikát máte vystavený pro obě domény (bez www i s www)? Zkontrolujte ještě pomocí openssl x509 (příklad jsem uváděl), jestli v tom /etc/letsencrypt/live/moj_web.com/chain.pem je správný certifikát Let's Encrypt. Žádnou jinou možnou chybu tam nevidím.
Když to testujete (z Androidu nebo tím OpenSSL), jste si jistý, že se připojujete na tenhle server?
-
Ještě mě napadlo co jsem řešil na jiném serveru... mod_ssl nebyl s podporou SNI, apache pak vracel výchozí pro všechny virtuály - vyřešil jsem to náhradou za mod_gnutls (https://mod.gnutls.org/), pak je konfigurace takto:
GnuTLSEnable on
GnuTLSPriorities NORMAL
GnuTLSCertificateFile /path-to/fullchain-cert.pem
GnuTLSKeyFile /path-to/key.pem
-
Ten serverový certifikát máte vystavený pro obě domény (bez www i s www)? Zkontrolujte ještě pomocí openssl x509 (příklad jsem uváděl), jestli v tom /etc/letsencrypt/live/moj_web.com/chain.pem je správný certifikát Let's Encrypt. Žádnou jinou možnou chybu tam nevidím.
Když to testujete (z Androidu nebo tím OpenSSL), jste si jistý, že se připojujete na tenhle server?
Ano aj pre www aj bez www vid. https://forum.root.cz/index.php?topic=18939.msg273085#msg273085
Toto
openssl x509 -text -noout -in /etc/letsencrypt/live/web/cert.pem
openssl x509 -text -noout -in /etc/letsencrypt/live/web/chain.pem
vyzera byt OK.
Rozhodne sa pripojujem na vhost s ktorym to testujem.
Ještě mě napadlo co jsem řešil na jiném serveru... mod_ssl nebyl s podporou SNI, apache pak vracel výchozí pro všechny virtuály - vyřešil jsem to náhradou za mod_gnutls (https://mod.gnutls.org/), pak je konfigurace takto:
GnuTLSEnable on
GnuTLSPriorities NORMAL
GnuTLSCertificateFile /path-to/fullchain-cert.pem
GnuTLSKeyFile /path-to/key.pem
Toto naozaj neviem ci je s podporou SNI, alebo nie.
PS 2 dni budem off, takze sa s tym nemozem hrat :(
-
Pridal som tam vsetky certifikaty
SSLCertificateKeyFile /etc/letsencrypt/live/web/privkey.pem
SSLCertificateFile /etc/letsencrypt/live/web/cert.pem
SSLCertificateChainFile /etc/letsencrypt/live/web/chain.pem
SSLCertificateChainFile /etc/letsencrypt/live/web/fullchain.pem
a stejne to pise, ze certifikat pochadza z nedoverihodnej autority
A to vám Apache takhle vezme? A jste si jist, že si to přebere správně? Proč to zbytečně komplikujete a nedáte tam přesně tu konfiguraci, kterou jsem vám napsal? Případně variantu, kterou napsal ByCzech – pokud jsou certifikáty v fullchain.pem správně seřazené.
Jaké certifikáty vám server vrací si můžete ověřit pomocí openssl s_client. Např.:
% openssl s_client -connect root.cz:443
CONNECTED(00000003)
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = root.cz
verify return:1
---
Certificate chain
0 s:/CN=root.cz
i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
i:/O=Digital Signature Trust Co./CN=DST Root CA X3
---
Server certificate
-----BEGIN CERTIFICATE-----
[…]
Důležitá je ta část pod Certificate chain. Musí tam být dva certifikáty, 0 bude certifikát vašeho serveru (místo root.cz), 1 bude to samé, co je v tomto výpisu, protože root.cz také používá Let's Encrypt.
Zdravim, takze mam nejake nove zistenia. Neviem z akeho dovodu, ale zacalo mi to fungovat. Ked som to overoval cez openssl klienta, tak uz to mam podobne ako vy: je tam aj certifikat 0 a aj 1
Certificate chain
0 s:/CN=moj_web.com
i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
i:/O=Digital Signature Trust Co./CN=DST Root CA X3
Ale vyskytol sa dalsi problem.
Ja mam momentalne 3x virtualhost a 3x som generoval certifikaty pre kazdy virtualhost. Generovanie skoncilo vzdy vystupom "congratulations". Samozrejme vzdy bol vygenerovany jedinecny certrtifikat do konkretneho adresara (takze tam chyba nie je).
Tento vystup popisuje jeden certifikat. Druhy bol vygenerovany do, /etc/letsencrypt/live/moj_web1.com atd .....
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/moj_web.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/moj_web.com/privkey.pem
Your cert will expire on 2018-09-26. To obtain a new or tweaked
version of this certificate in the future, simply run
letsencrypt-auto again. To non-interactively renew *all* of your
certificates, run "letsencrypt-auto renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
Problem ale vidim v tom, ze ked overujem certifikat, pre jeden z troch webov
openssl s_client -connect moj_web.com:443
openssl s_client -connect moj_web1.com:443
openssl s_client -connect moj_web2.com:443
Tak vzdy mam vysledok takyto:
Certificate chain
0 s:/CN=moj_web.com
i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
i:/O=Digital Signature Trust Co./CN=DST Root CA X3
....
...
Vzda je tam moj_web.com. Cize vzdy to posiela certifikat z moj_web.com (a nie moj_web1.com a moj_web2.com)
-
Když máte na jedné IP adrese a portu víc virtualhostů na HTTPS (rozlišených jménem), musí klient poslat na začátku SSL komunikace požadované jméno – ta technologie se jmenuje SNI. S OpenSSL tedy musíte navíc přidat parametr -servername.
openssl s_client -connect moj_web.com:443 -servername moj_web.com
openssl s_client -connect moj_web1.com:443 -servername moj_web1.com
openssl s_client -connect moj_web2.com:443 -servername moj_web2.com
Bez SNI server neví, které jméno serveru požadujete, tedy který má poslat certifikát, a použije první virtualhost v konfiguračním souboru.
-
Aha, takze bez parametru servername to vybere vzdy prvy virtualhost podla abecedy.
Avsak klientovi (web prehliadacu), apache poskytne vzdy spravny certifikat (neviem to overit na androide (ale to nevadi)).
-
Aha, takze bez parametru servername to vybere vzdy prvy virtualhost podla abecedy.
Ne podle abecedy, ale první v pořadí jak jsou uvedené v konfiguračním souboru.
Avsak klientovi (web prehliadacu), apache poskytne vzdy spravny certifikat (neviem to overit na androide (ale to nevadi)).
Prohlížeči s podporou SNI pošle server správný certifikát (pokud tedy máte přiřazené správné certifikáty ke správným virtualhostům). Dnes už podporují SNI všechny používané prohlížeče, konkrétní prohlížeč si můžete najít na Can I use… (https://www.caniuse.com/#feat=sni)
-
No ale ja mam ku kazdemu virtualhostu zvlast konfigurak
napr.
/etc/apache2/sites-available/www.moj_web.com.conf
/etc/apache2/sites-available/www.moj_web1.com.conf
/etc/apache2/sites-available/www.moj_web2.com.conf
takze potom to asi berie podla abecedy
-
Ty konfiguráky jsou pomocí Include vložené do hlavního souboru, takže z pohledu Apache je to pak jeden velký konfigurák. Soubory se ale opravdu vkládají v abecedním pořadí, pokud je v Include uvedena maska s hvězdičkou.
-
O, dakujem vsetkym zucasnenym za cenne rady a podporu