Fórum Root.cz
Hlavní témata => Server => Téma založeno: Ikaros42 20. 08. 2013, 09:03:22
-
Zdravím,
uvažuji že pro plánovaný webhosting (cca 10-20 webovek) pořídím VPS. To znamená mnoho domén pro jednu statickou IP adresu VPSka. Zároveň sháním co nejlevnější možné řešení poskytovat i https variantu u každé stránky, můžete mi v tomto směru doporučit nejlepší řešení? Našel jsem SSL MDC certifikáty, nicméně zase jsem se dočetl že je problém právě s tou jednou IP adresou pro mnoho stránek a že je třeba použít SNI. Mám v plánu použít Glassfish/JDK7, podporuje tento AS toto rozšíření?
Díky
-
U SNI muze byt porad problem s podporou rady prohlizecu (viz. http://cs.wikipedia.org/wiki/Server_Name_Indication). Cast klientu si tim odriznete, je na Vas jestli je pro vas tato cilova skupina zajimava. Pokud ano, budete muset pozadat sveho poskytovatele o vice IP adres. Jinak pro Glassfish bych pro SSL stejne predradil reverzni proxy a na ni resil SSL terminaci - je to o hodne rychlejsi a stabilnejsi nez SSL implementovany v Jave, zejmena pokud mate VPS s HW AES-NI akceleraci (napr. vetsina VPS tarifu u hosting90.cz).
-
Jen bych upřesnil, že uživatelé starých prohlížečů nebudou odříznuti zcela, jen budou muset odsouhlasit nevalidní certifikát (což většina lidí udělá zcela bez přemýšlení). Další variantou, která by nevyžadovala vícero IP ades nebo SNI je certifikát s více doménovými jmény. Nemusí jít nutně o hvězdičkový certifitkát, uplně stačí, když v něm budou vyjmenovány všechny používaná doménová jména. Samozřejmě toto řešení se hodí jen v případě, kdy všechna jména mají stejného majitele, který certifikát zaplatí.
-
Pokial su domenove mena vopred zname, pouzil by som radsej multidomain certifikaty. Mozno by bolo zaujimave zistit ci je nejaka CA schopna "zadarmo" pridavat dalsie Subject Name do "uz existujuceho" SSL certifikatu pokial nema vycerpany zaplateny limit.
-
Mezi nama, mam radsi selfsigned certifikaty, protoze jsou pro me mnohem duveryhodnejsi, nez nejaky "uber duveryhodna autorita" ...
Jinak resit ssl na jedny IP pro vic webu ... pokud to myslis vazne, tak pro tebe dalsi IPcka nemuzou byt problem.
-
Ano, použití jedné IP adresy skutečně znamená nutnost použít SNI nebo mít všechny domény v jednom certifikátu. Internet Explorer na XPčkách SNI nepodporuje, takže bude hlásit neplatný certifikát. Roční certifikáty pro jedno jméno lze mít zdarma zde http://www.startssl.com/ certifikát na více domén zadarmo nebude a při častějších změnách by se to asi mohlo i poněkud prodražit
-
Díky moc za tipy, a nevíte někdo jak je to s podporou SNI v Glassfishi? nikde to nemůžu vypátrat.
-
Díky moc za tipy, a nevíte někdo jak je to s podporou SNI v Glassfishi? nikde to nemůžu vypátrat.
Smrt Javě!!!
-
Díky moc za tipy, a nevíte někdo jak je to s podporou SNI v Glassfishi? nikde to nemůžu vypátrat.
Smrt Javě!!!
SMRT LINUXU!!!!!
-
nevíte někdo jak je to s podporou SNI v Glassfishi?
Podle mne SNI server nijak nezajímá -- server certifikát jenom předloží klientovi, ale jeho obsah nemá důvod zkoumat. Jinak by to stejně nebyla záležitost Glassfishe, ale SSL implementace v Javě, respektive JSSE (Java Secure Socket Extension). Java od Oracle podporuje SNI od Java 7 Update 2. Ale to se týká klienta.
-
nevíte někdo jak je to s podporou SNI v Glassfishi?
Podle mne SNI server nijak nezajímá -- server certifikát jenom předloží klientovi,
Ale jaký konkrétní certifikát předloží se server který podporuje SNI rozhodne na základě hostname které mu klient pošle (právě pomocí SNI). Server který SNI nepodporuje se může rozhodnout maximálně podle IP adresy, což je v dnešní době nedostatku IPv4 adres a nedostatečného rozšíření IPv6 docela problém.
-
Ale jaký konkrétní certifikát předloží se server který podporuje SNI rozhodne na základě hostname které mu klient pošle (právě pomocí SNI).
Jasně, máte pravdu. Omlouvám se za mystifikaci, neuvědomil jsem si, že celý vtip spočívá v tom, že na serveru není jeden certifikát, ale několik.
Tak podle webu ani Java 7 nepodporuje SNI na serverové straně. Na druhou stranu, výběr certifikátu je záležitost aplikačního kódu (i když Glassfish už v sobě má nějakou implementaci), takže pokud jsou informace ze SNI někde v SSLSession nebo něčem podobném dostupné, mohl by se podle nich váš kód rozhodovat. Ale nebylo by nic jednoduchého to naprogramovat (ono už samotné JSSE samo o sobě je peklo) – ono asi má nějaký důvod, že se do toho zatím nikdo nepustil (ani u opensource projektů).
-
Díky moc za tipy, a nevíte někdo jak je to s podporou SNI v Glassfishi? nikde to nemůžu vypátrat.
To neřeš, postav před to libovolnou reverzní proxy (Apache, NGINX, Lighttpd), která SSL spojení zakončí a na aplikační server to půjde už nešifrovaně.
-
Co sem tak našel, tak přímo do Javy se serverové SNI plánuje až do Java 8, respektive spíše asi do JEE 8, ale podle stránky na wikipedii věnované SNI by to měl podporovat Tomcat na Java 7. Bohužel ostatní JEE servery nejsou uvedeny ani mezi podporujícími ani mezi nepodporujícími.
-
Používám SNI na jedné IP, kompatibilitu pro 13 let starý OS a IE jsem se rozhodl neřešit.
-
podle stránky na wikipedii věnované SNI by to měl podporovat Tomcat na Java 7
Já bych na to moc nesázel, bůhví, co to znamená. Třeba to může fungovat při použití AJP nebo reverzní proxy, kdy to SNI za Tomcat vyřeší předřazený server. Co jsem jenom prolétnul zdrojáky, má Tomcat také nativní implementaci SSL přes JNI, možná to řeší tam.
To neřeš, postav před to libovolnou reverzní proxy (Apache, NGINX, Lighttpd), která SSL spojení zakončí a na aplikační server to půjde už nešifrovaně.
Pokud potřebuje SNI a javovské aplikační servery to neumí, pak ano. Ale obecně bych to nedělal, je to jen další zbytečný server, který ve většině případů nic nepřináší. Ono se traduje ještě z doby, kdy byla implementace v Javě bídná, že před javovským aplikačním serverem má být předřazený web server, ale to už podle mne dávno neplatí. Až na specifické případy jako SNI :-)
-
To neřeš, postav před to libovolnou reverzní proxy (Apache, NGINX, Lighttpd), která SSL spojení zakončí a na aplikační server to půjde už nešifrovaně.
Pokud potřebuje SNI a javovské aplikační servery to neumí, pak ano. Ale obecně bych to nedělal, je to jen další zbytečný server, který ve většině případů nic nepřináší. Ono se traduje ještě z doby, kdy byla implementace v Javě bídná, že před javovským aplikačním serverem má být předřazený web server, ale to už podle mne dávno neplatí. Až na specifické případy jako SNI :-)
Specifické případy bych zobecnil na použití jakéhokoliv SSL/TLS (nejen s SNI). Nativní implementace (pomocí OpenSSL) je pořád ještě rychlejší a hlavně flexibilnější než JSSE.
-
Specifické případy bych zobecnil na použití jakéhokoliv SSL/TLS (nejen s SNI). Nativní implementace (pomocí OpenSSL) je pořád ještě rychlejší a hlavně flexibilnější než JSSE.
To je dohad, nebo je to něčím podložené?
-
Specifické případy bych zobecnil na použití jakéhokoliv SSL/TLS (nejen s SNI). Nativní implementace (pomocí OpenSSL) je pořád ještě rychlejší a hlavně flexibilnější než JSSE.
To je dohad, nebo je to něčím podložené?
Měření výkonnosti JSSE jsem dělal naposledy s Javou 5, takže to už dnes nebude relevantní, ale možná ještě důležitější než výkon je flexibilita - srovnejte například http://httpd.apache.org/docs/2.4/mod/mod_ssl.html s relevantní dokumentací JSSE a JCE providerů.