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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
včera 22:00 | Komunita

Přibližně před měsícem bylo oznámeno, že linuxová distribuce SUSE Linux Enterprise Server (SLES) běží nově také Raspberry Pi 3 (dokumentace). Obraz verze 12 SP2 pro Raspberry Pi 3 je ke stažení zdarma. Pro registrované jsou po dobu jednoho roku zdarma také aktualizace. Dnes bylo oznámeno, že pro Raspberry Pi 3 je k dispozici také nové openSUSE Leap 42.2 (zprávička). K dispozici je hned několik obrazů.

Ladislav Hagara | Komentářů: 1
včera 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 26
včera 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 7
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 14
3.12. 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 25
2.12. 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 15
2.12. 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 5
2.12. 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
2.12. 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 1
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 774 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Apache2 proxy SSL, Tomcat, SSL

23.3.2012 21:58 Nautil | skóre: 2 | Praha
Apache2 proxy SSL, Tomcat, SSL
Přečteno: 740×
Ahoj!

Potřebuju nastavit frontendový server s Apache2 jako proxy pro HTTP i HTTPS provoz. Obsluhuje backendový server s Tomcatem 6.0.

Nastavení pro HTTP na front.dom.cz je dáno v souboru /etc/apache2/default-server.conf - ten je defaultní, nijak jsem ho neupravoval.

Schéma HTTP
http://front.dom.cz --> http://back.dom.cz:8080/app1
V adresním řádku prohlížeče se má zobrazovat http://front.dom.cz/app1

To už jsem s pomocí zdejší poradny zvládnul: na front.dom.cz inkluduju do httpd.conf soubor mod_proxy.conf s tímto obsahem
ProxyRequests Off
ProxyPreserveHost On

<Proxy *>
  Order deny,allow
  Allow from all
</Proxy>

ProxyPass               /app1   http://back.dom.cz:8080/app1
ProxyPassReverse        /app1   http://back.dom.cz:8080/app1
ProxyPass               /       http://back.dom.cz:8080/app1
ProxyPassReverse        /       http://back.dom.cz:8080/app1
Schéma HTTPS
https://front.dom.cz --> https://back.dom.cz:8443/app1
Zobrazovat se má
https://front.dom.cz/app1

Popravdě, potřebuju šifrované spojení HTTPS jen pro přihlašování, ale to bych zatím neřešil. Klidně ať zatím běží celá aplikace na HTTPS, před přihlášením i po. To je ostatně věc aplikace.

Na frontendu jsem zapnul SSL v Apache a definoval virtuálního hosta /etc/apache2/vhosts.d/front.dom.cz
<IfDefine SSL>
<IfDefine !NOSSL>
NameVirtualHost IPadresaFront:443
<VirtualHost IPadresaFront:443>
        DocumentRoot "/srv/www/htdocs/front.dom.cz"
        ServerName IPadresaFront:443
        ServerAdmin admin@dom.cz
        ErrorLog /var/log/apache2/error_log
        TransferLog /var/log/apache2/access_log
        SSLEngine on
        SSLProtocol all -SSLv2
        SSLCipherSuite HIGH:MEDIUM
        SSLCertificateFile /etc/apache2/ssl.crt/ap2server.crt
        SSLCertificateKeyFile /etc/apache2/ssl.key/ap2server.key
        SSLCertificateChainFile /etc/apache2/ssl.crt/newca.crt
        SSLCACertificateFile /etc/apache2/ssl.crt/newca.crt

        <Files ~ "\.(cgi|shtml|phtml|php3?)$">
            SSLOptions +StdEnvVars
        </Files>
        <Directory "/srv/www/htdocs/front.dom.cz">
          Options Indexes
          AllowOverride None
          Allow from from all
          Order allow,deny
        </Directory>

        CustomLog /var/log/apache2/ssl_request_log   ssl_combined
</VirtualHost>
</IfDefine>
</IfDefine>
Ačkoli jsem na backendovém stroji SSL ještě nezprovoznil a proxy pro HTTPS nenastavil, funguje mi https://front.dom.cz/app1, tj. zobrazuje obsah z back.dom.cz/app1, ale jestli šifrovaně, to nepoznám.

Zdá se, že direktivy z mod_proxy.conf mi přesměrovávají i HTTPS provoz. Ale to nejspíš nebude v pořádku, když SSL je jen na proxy serveru, že? Rád bych, aby byla celá komunikace šifrovaná, nejen se tak tvářila.

Kde všude má být konfigurováno SSL a vložen certifikát? Potřebuju certifikát s Common Name=front.dom.cz. Jak korektně nastavit proxy pro HTTPS provoz?

Díkes za každou radu!

Odpovědi

23.3.2012 22:36 DK
Rozbalit Rozbalit vše Re: Apache2 proxy SSL, Tomcat, SSL
pouzijte nginx, nenarocny, jednoduchy na nastaveni, ochrana proti ddos a slowloris utokum...
24.3.2012 00:01 Zdenek 'Mst. Spider' Sedlak | skóre: 37 | blog: xMstSpider
Rozbalit Rozbalit vše Re: Apache2 proxy SSL, Tomcat, SSL
To je rada, jak noha (kdyz nemate sojovku, dejte tam spenat...).

Nic proti nginx (pouzivam ho taky jako reverzni proxy), ale tazatel se pta, jak to vyresit v Apache...
24.3.2012 08:52 Filip Jirsák | skóre: 66 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Apache2 proxy SSL, Tomcat, SSL
Pokud se vám v prohlížeči zobrazuje v adresním řádku protokol https, je komunikace šifrovaná. V případě HTTPS bude šifrovaná komunikace vždy mezi klientem a proxy serverem, ten musí šifrovanou komunikaci vybalit, a pak s ní něco udělá dál. Pokud je Tomcat na stejném stroji nebo ve stejné důvěryhodné síti, je zbytečné komunikaci znovu šifrovat a je lepší mezi proxy a Tomcatem použít obyčejné HTTP. Certifikát a vše týkající se HTTPS pak bude jen na Apachi. Ještě můžete (snad) nastavit proxy tak, že bude Tomcatu v hlavičkách předávat informaci o tom, že komunikace byla šifrovaná, pak to lze i z Tomcatu ze servletu zjistit voláním ServletRequest.isSecure().

Část konfiguráku mi připadá zbytečná, nebo tam opravdu máte nějaké PHP nebo CGI skripty?
<Files ~ "\.(cgi|shtml|phtml|php3?)$">
  SSLOptions +StdEnvVars
</Files>
Jinak máte nějaký důvod, proč tam cpát ten proxy server? Bude na tom portu 80 a 443 poskytovat ještě nějaké jiné služby? Jinak můžete vystavit do internetu rovnou Tomcat a bude to celé jednodušší...
26.3.2012 17:34 Nautil | skóre: 2 | Praha
Rozbalit Rozbalit vše Re: Apache2 proxy SSL, Tomcat, SSL

Díky za radu. Ano, server s Tomcatem (backend) leží v důvěryhodné síti, takže komunikace Proxy - Tomcat nemusí být šifrovaná. Nebyl jsem si jist, zda HTTPS komunikace nutně musí být end-to-end, tedy z klienta až k backendovému serveru, nebo stačí, když bude šifrovaná jen část, která jde k frontendu. Proto tedy použiju obyčejné HTTP.

Část toho konfiguráku je opravdu zbytečná, půjde pryč.

Proxy je tam kvůli snížení zátěže na server s Tomcatem, a časem z něho taky bude load balancer - backendových serverů přibyde.

26.3.2012 21:03 Filip Jirsák | skóre: 66 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Apache2 proxy SSL, Tomcat, SSL
Nebyl jsem si jist, zda HTTPS komunikace nutně musí být end-to-end, tedy z klienta až k backendovému serveru, nebo stačí, když bude šifrovaná jen část, která jde k frontendu.
Naopak, HTTPS je vždy mezi klientem a serverem/proxy, kde je dané HTTPS spojení zakončeno. Tam se musí dešifrovat, ověřit certifikáty atd., a případně je možné odsud navázat další spojení (HTTP i HTTPS), kterým se přenese dešifrovaný obsah spojení. Nejsnazší je vždy si uvědomit, že HTTPS chrání proti útokům MITM -- takže uprostřed komunikace nemůže být nikdo, kdo by s komunikací nějak manipuloval nebo ji mohl číst.
24.3.2012 12:19 alkoholik | skóre: 35 | blog: Alkoholik
Rozbalit Rozbalit vše Re: Apache2 proxy SSL, Tomcat, SSL
V soucasne chvili to sifruje mezi klientem a proxy. Jestli chcete sifrovat i mezi proxy a backendem, musite si nastavit SSLProxyEngine On a zmenit ProxyPass /app1 http://back.dom.cz:8080/app1 na ProxyPass /app1 https://back.dom.cz:8080/app1
24.3.2012 12:22 alkoholik | skóre: 35 | blog: Alkoholik
Rozbalit Rozbalit vše Re: Apache2 proxy SSL, Tomcat, SSL
Samozrejme v tu chvili musite na backendu nahodit na portu 8080 SSL virtual a zmenu http -> https provest u vsech ctyr radku.
29.3.2012 12:48 Nautil | skóre: 2 | Praha
Rozbalit Rozbalit vše worker already used by another worker
Díky za rady!

Ještě bych měl jeden dotaz. Nastavil jsem proxy, aby HTTP (http://front.dom.cz) směrovala na http://back1.dom.cz/app1 a HTTPS (https://front.dom.cz) aby směrovala na http://back2.dom.cz/app1.

Vytvořil jsem dva virtual hosty s touto konfigurací:
front.dom.cz.conf
NameVirtualHost 10.0.0.1:80
<VirtualHost 10.0.0.1:80>
    ServerName 10.0.0.1
    ServerAdmin admin@dom.cz
    ProxyRequests Off
    ProxyPreserveHost On
    <Proxy *>
      Order deny,allow
      Allow from all
    </Proxy>
    ProxyPass               /app1   http://back1.dom.cz:8080/app1
    ProxyPassReverse        /app1   http://back1.dom.cz:8080/app1
    ProxyPass               /       http://back1.dom.cz:8080/app1
    ProxyPassReverse        /       http://back1.dom.cz:8080/app1

    DocumentRoot /srv/www/vhosts/front.dom.cz
    ErrorLog /var/log/apache2/front.dom.cz-error_log
    CustomLog /var/log/apache2/front.dom.cz-access_log combined
    #HostnameLookups Off
    #UseCanonicalName Off
    #ServerSignature On
    <Directory "/srv/www/vhosts/front.dom.cz">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
front.dom.cz_ssl.conf
<IfDefine SSL>
<IfDefine !NOSSL>
<VirtualHost 10.0.0.1:443>
        ServerName 10.0.0.1:443
        ServerAdmin adminn@dom.cz
        ProxyRequests Off
        ProxyPreserveHost On
        <Proxy *>
          Order deny,allow
          Allow from all
        </Proxy>
        ProxyPass        /app1          http://back2.dom.cz:8080/app1
        ProxyPassReverse /app1          http://back2.dom.cz:8080/app1
        ProxyPass        /              http://back2.dom.cz:8080/app1
        ProxyPassReverse /              http://back2.dom.cz:8080/app1

        DocumentRoot "/srv/www/vhosts/front.dom.cz_ssl"
        ErrorLog /var/log/apache2/front.dom.cz_ssl-error_log
        TransferLog /var/log/apache2/front.dom.cz_ssl-access_log
        CustomLog /var/log/apache2/front.dom.cz_ssl-request_log ssl_combined
        <Directory "/srv/www/vhosts/front.dom.cz_ssl">
          Options Indexes
          AllowOverride None
          Allow from from all
          Order allow,deny
        </Directory>

        SSLEngine on
        SSLProtocol all -SSLv2
        SSLCipherSuite HIGH:MEDIUM
        SSLCertificateFile /etc/apache2/ssl.crt/ap2server.crt
        SSLCertificateKeyFile /etc/apache2/ssl.key/ap2server.key
        SSLCertificateChainFile /etc/apache2/ssl.crt/newca.crt
        SSLCACertificateFile /etc/apache2/ssl.crt/newca.crt
</VirtualHost>

</IfDefine>
</IfDefine>
Při startu Apache si mi webový server stěžuje
...
Starting httpd2 (prefork) [Thu Mar 29 12:32:28 2012] [warn] worker http://back1.nkp.cz:8080/app1 already used by another worker
[Thu Mar 29 12:32:28 2012] [warn] worker http://back2.nkp.cz:8080/app1 already used by another worker
Apache/2.2.12 mod_ssl/2.2.12 (Pass Phrase Dialog)
...
Na webu jsem našel, že se to stává, když je nějaká proxy direktiva zadaná vícekrát. Ale já tam nemám nic, co by se opakovalo... Nebo mám? Když v prvním konfiguráku zakomentuju řádky
    ProxyPass               /       http://back1.dom.cz:8080/app1
    ProxyPassReverse        /       http://back1.dom.cz:8080/app1
tak si Apache už nestěžuje, ale pak zas nefunguje přesměrování http://front.dom.cz na http://back1.dom.cz/app1

Nemám tušení, proč mu to vadí. Je to vlastnost Apache, nebo moje chyba? :-)
29.3.2012 13:16 Filip Jirsák | skóre: 66 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: worker already used by another worker
Myslím, že přebytečné jsou naopak řádky s /app1
    ProxyPass               /app1   http://back1.dom.cz:8080/app1
    ProxyPassReverse        /app1   http://back1.dom.cz:8080/app1

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.