abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 17:25 | IT novinky

Do prodeje (Farnell) se dostal jednodeskový počítač Tinker Board (unboxing). Jedná se o konkurenci Raspberry Pi 3 od společnosti Asus. Porovnání (jpg) těchto počítačů například na CNXSoft. Cena Tinker Boardu je 55 £.

Ladislav Hagara | Komentářů: 0
dnes 14:44 | Zajímavý projekt

Byla zveřejněna pravidla hackerské soutěže Pwn2Own 2017, jež proběhne od 15. do 17. března v rámci bezpečnostní konference CanSecWes ve Vancouveru. Soutěžit se bude o více než milion dolarů v pěti kategoriích. Letos se bude útočit i na Ubuntu. Jedná se již o 10. ročník této soutěže.

Ladislav Hagara | Komentářů: 1
dnes 13:33 | Nová verze

Po sedmi měsících vývoje od vydání verze 5.7 byla vydána verze 5.8 (YouTube) toolkitu Qt. Z novinek lze zmínit například Qt Lite pro vestavěná zařízení. Nově jsou plně podporovány moduly Qt Wayland Compositor (YouTube) a Qt SCXML (YouTube). Současně byla vydána verze 4.2.1 integrovaného vývojového prostředí (IDE) Qt Creator.

Ladislav Hagara | Komentářů: 0
dnes 11:52 | Pozvánky

Lednový Prague Containers Meetup se koná ve čtvrtek 26. ledna 2017 od 18:00 v Apiary, Pernerova 49, Praha 8. Přijďte se podívat na přednášky o Enterprise Kubernetes a Jenkins as a code.

little-drunk-jesus | Komentářů: 0
dnes 11:40 | Pozvánky

Program letošního ročníku konference Prague PostgreSQL Developer Days, která se koná již 15. a 16. února 2017 na ČVUT FIT, Thákurova 9, Praha 6, byl dnes zveřejněn. Najdete ho na stránkách konference včetně anotací přednášek a školení. Registrace na konferenci bude otevřena zítra (24. ledna) v brzkých odpoledních hodinách.

TomasVondra | Komentářů: 0
včera 02:20 | Zajímavý článek

David Revoy, autor open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu, upozorňuje na svém blogu, že nový Inkscape 0.92 rozbíjí dokumenty vytvořené v předchozích verzích Inkscape. Problém by měl být vyřešen v Inkscape 0.92.2 [reddit].

Ladislav Hagara | Komentářů: 0
včera 02:02 | Komunita

Øyvind Kolås, hlavní vývojář grafických knihoven GEGL a babl, které využívá grafický program GIMP, žádá o podporu na Patreonu. Díky ní bude moci pracovat na vývoji na plný úvazek. Milník 1000 $, který by stačil na holé přežití, se již téměř podařilo vybrat, dalším cílem je dosažení 2500 $, které mu umožní běžně fungovat ve společnosti.

xkomczax | Komentářů: 12
21.1. 23:54 | Pozvánky

DevConf.cz 2017, již devátý ročník jedné z největších akcí zaměřených na Linux a open source ve střední Evropě, proběhne od pátku 27. ledna do neděle 29. ledna v prostorách Fakulty informačních technologií Vysokého učení technického v Brně. Na programu je celá řada zajímavých přednášek a workshopů. Letos je povinná registrace.

Ladislav Hagara | Komentářů: 0
21.1. 22:11 | Nová verze

Byla vydána verze 1.0.0 emulátoru terminálu Terminology postaveného nad EFL (Enlightenment Foundation Libraries). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
20.1. 17:00 | Nová verze

Byl vydán Docker 1.13. Přehled novinek na YouTube a v poznámkách k vydání na GitHubu. Docker umožňuje běh aplikací v softwarových kontejnerech (Wikipedia).

Ladislav Hagara | Komentářů: 7
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (11%)
 (2%)
 (73%)
 (3%)
 (10%)
Celkem 377 hlasů
 Komentářů: 29, poslední dnes 18:00
Rozcestník
Reklama

Dotaz: Apache reverzní proxy má problém s SNI při redirectu

6.1.2016 18:51 ap
Apache reverzní proxy má problém s SNI při redirectu
Přečteno: 211×
Ahoj, mám apache 2.4 reverzní proxy server a za ním backendový webový apache 2.4 server poskytující reálný obsah. Pokud jdu na www.domena.cz, pak se web načte v pořádku, pokud jdu na domena.cz, pak wordpress na webovém serveru pošle redirect na www.domena.cz, ale pak vrátí proxy Bad Request. Na backend web serveru je v tu chvíli hláška:
[ssl:error] [pid 23771:tid 140277507413760] AH02032: Hostname domena.cz provided via SNI and hostname www.domena.cz provided via HTTP are different
Konfigurace VirtualHostu na proxy:
Header always set Strict-Transport-Security "max-age=31536000"
ServerName www.domena.cz
ServerAlias domena.cz

SSLProxyEngine On

SSLCertificateFile /etc/httpd/ssl/www.domena.cz/ssl.crt
SSLCertificateKeyFile /etc/httpd/ssl/www.domena.cz/ssl.key
SSLCertificateChainFile /etc/httpd/ssl/www.domena.cz/intermediate.pem

SSLProxyCACertificateFile /etc/ssl/certs/ca-bundle.crt
SSLProxyCheckPeerName on
SSLProxyCheckPeerExpire on

ProxyRequests Off
<Proxy *>
  Require all granted
</Proxy>

ProxyPass / https://webserver.domena.cz/
ProxyPreserveHost on
Konfigurace VirtualHostu na webserveru:
ServerName www.domena.cz
ServerAlias domena.cz
.....
Aktuálně používám jako workaround přesměrování přímo na reverzní proxy. To funguje. Tzn. přímo reverzní proxy přesměruje domena.cz na www.domena.cz. Chtěl bych ale, aby to fungovalo i bez tohoto workaroundu. V čem může být problém? Podle sledování požadavků by to mělo fungovat:
  1. Prohlížeč odešle požadavek na https://domena.cz (v hlavičce je Host: domena.cz)
  2. Backendový web server vrátí 301, pošle Location: https://www.domena.cz
  3. Prohlížeč odešle požadavek na https://www.domena.cz (v hlavičce je Host: www.domena.cz)
  4. Proxy ale vrátí 400 Bad Request

Odpovědi

6.1.2016 19:14 Filip Jirsák
Rozbalit Rozbalit vše Re: Apache reverzní proxy má problém s SNI při redirectu
Opravdu potřebujete mezi proxy serverem a backendem SSL?

Chybu máte tady:
ProxyPass / https://webserver.domena.cz/
ProxyPreserveHost on
Říkáte proxy serveru, aby se připojil na doménu webserver.domena.cz, takže tuhle doménu proxy pošle přes SNI. Pak tam ale máte zapnuté, že hlavičku Host má předat tu, kterou poslal klient. Je to asi nedokonalost proxy serveru, protože ten by mohl Host hlavičku použít i pro SNI, jenže to by před navázáním spojení k backendu musel čekat, než mu jí klient pošle. Každopádně tahle kombinace je divná, ale když už se chcete k backendu připojovat přes SSL a mít tam jiné jméno, dávalo by největší smysl DNS název použít pouze pro výběr serveru, SNI vůbec neposílat ani ho na backendu nečíst a na backendu vybírat virtualhosta jenom pomocí hlavičky Host. Ale nevím, zda jde takhle Apache nakonfigurovat.
6.1.2016 20:54 alkoholik | skóre: 35 | blog: Alkoholik
Rozbalit Rozbalit vše Re: Apache reverzní proxy má problém s SNI při redirectu
Ono je to trosku jinak.
Apache pouziva pool persistentnich spojenich na backend. Spojeni se navaze s SNI Hostem z TLS prvniho pozadavku (domena.cz) a kupodivu prvni Host z HTTP hlavicky (domena.cz) proti nemu sedi.
Prijde druhy pozadavek a apache vidi, ze ho ma poslat na stejny backend. Vezme uz navazane spojeni s SNI Hostem domena.cz a posle HTTP hlavicku s Hostem www.domena.cz.
Proto v logu nevidis zadnou stiznost na webserver.domena.cz.
Je to moc pekny heisenbug, kdyz tam pristupuji na stridacku klienti na domena.cz a www.domena.cz a ceka se, ze dostanou stejnou stranku. Podle toho, ktere uz navazane perzistetni spojeni zrovna trefi to na 50% zafunguje. Pokud zadne otevrene spojeni v poolu zrovna neni, tak vsechno jakoby funguje na prvni pokus. A vsechno se samo opravuje pri timeoutu spojeni na backend.
;)
6.1.2016 21:45 ap
Rozbalit Rozbalit vše Re: Apache reverzní proxy má problém s SNI při redirectu
Díky, to je ono. Takže jsou v podstatě 3 řešení:
  1. Přidat ProxyPass parametr disablereuse=on, což způsobí ukončení spojení k backendu po každém requestu
  2. Přepisování url přímo na proxy
  3. Separátní VirtualHost pro domena.cz a www.domena.cz
Použil jsem to 3. Jeho nevýhoda je ale v tom, že apache načítá 2x v podstatě tu samou konfiguraci virtualhostu a část spojení na backend bude držet domena.cz a část www.domena.cz. Předpokládám, že dobu, po kterou drží proxy spojení na backend určuje KeepAliveTimeout na backendu.
6.1.2016 22:52 alkoholik | skóre: 35 | blog: Alkoholik
Rozbalit Rozbalit vše Re: Apache reverzní proxy má problém s SNI při redirectu
A vazne ti to funguje? Apache totiz matchne worker pro https://webserver.domena.cz/ a je mu celkem jedno v kterem virtualhostu.
;)
Ten timeout je jeste vtipnejsi. ProxyPass ma timeout jako parametr. A kdyz neni mensi nez timeout na backendu, muzes dostat taky moc pekny race, kdy proxy tlaci data do spojeni, ktere backend uz zavrel.
7.1.2016 17:04 ap
Rozbalit Rozbalit vše Re: Apache reverzní proxy má problém s SNI při redirectu
Ano funguje. Mám takhle nastavených dalších 5 virtualhostů směřujících na https://webserver.domena.cz a také jedou bez problému.
7.1.2016 17:50 alkoholik | skóre: 35 | blog: Alkoholik
Rozbalit Rozbalit vše Re: Apache reverzní proxy má problém s SNI při redirectu
No je fakt, ze jsi nenapsal, na ktere verzi vlastne bezis. Uz je to nejaky patek, co se tohle fixovalo.
Jeste klikni na "Oznac jako reseni", at to ostatni uz nezkoumaji.
7.1.2016 19:22 ap
Rozbalit Rozbalit vše Re: Apache reverzní proxy má problém s SNI při redirectu
CentOS 7 / http 2.4.6. Ještě se jenom zeptám - je možnost zprovoznit toto v rámci jednoho virtuálu, něco jako If host je něco, pak používat tento proxypass? Vím, že httpd 2.4 má podporu if, ale netuším jak je to s kompatibilitou s mod_proxy.
8.1.2016 10:12 alkoholik | skóre: 35 | blog: Alkoholik
Rozbalit Rozbalit vše Re: Apache reverzní proxy má problém s SNI při redirectu
Ja mam na backendu hromadu virtualu pres subjectAltName v certifikatu a na frontendu worker pro kazdy extra. Finta je v tom, ze URL v ProxyPass musi byt ruzne, aby se pro apache netvarily jako jeden a ten samy.
S if by to teoreticky mohlo slapat i v ramci jednoho virtualu, ale to uz si vyzkousej sam.
Dalsi nedoporucene reseni je downgrade spojeni na backend na SSLv3, protoze tam zadne SNI mit nebudes. Mozna by to slo vnutit i TLS, ale nevim jak.
Na Tvem miste bych resil redirect uz na proxy.

Založit nové vláknoNahoru

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

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.