= 1CLICK pod proxy Apache =
{{{#!wiki caution
Tento návod je určený '''pro experty''', zejména správce webových serverů Apache.
}}}
1CLICK je možné "schovat" pod webový server Apache. Klienti v takovém scénáří komunikují s webovým serverem Apache, který (vybrané) požadavky dále předává serveru 1CLICK.
Výhody tohoto zapojení jsou zejména:
* můžete využít obrovského rozsahu funkcí serveru Apache, např. v oblastech pokročilého zabezpečení
* můžete 1CLICK integrovat přímo do struktury webových stránek, např. vašeho intranetu
Zapojení 1CLICK pod Apachem používáme například i v aplikačním hostingu [[http://1c2c.cz|1c2c.cz]].
== Nastavení ==
Na straně 1CLICK není pro tento scénář potřeba žádné speciální nastavení.
Na straně Apache se řešení opírá o modul [[http://httpd.apache.org/docs/2.0/mod/mod_proxy.html|mod_proxy]]. Klíčovými nastaveními jsou direktivy '''{{{Proxy}}}''', '''{{{ProxyPass}}}''' a '''{{{ProxyPassReverse}}}''', které definují, že požadavky na určité URI adresy budou předávané serveru 1CLICK a kde tento server běží. Dále je potřeba použít direktivu '''{{{AllowEncodedSlashes}}}''', bez které by předávání požadavků v některých případech nefungovalo správně.
Níže uvedené příklady předpokládají, že jsou v serveru Apache nainstalované a aktivované moduly '''{{{mod_proxy}}}''' a '''{{{mod_proxy_http}}}'''.
'''POZOR: Nastavení funguje v Apache verzi 2.2.8 a vyšší.''' Starší verze Apache nepodporují přepínač "nocanon", který je pro správné předávání požadavků do 1CLICK nezbytný.
Příklad jednoduchého nastavení, které předává požadavky na všechny URI adresy serveru 1CLICK:
{{{
Order Deny,Allow
Allow from All
/Proxy>
AllowEncodedSlashes On
ProxyPass / http://localhost:7169/ nocanon
ProxyPassReverse / http://localhost:7169/
}}}
Příklad, kdy Apache standardně poskytuje běžný obsah a serveru 1CLICK předává jen požadavky na URI začínající {{{/1click}}}:
{{{
# V tomto adresari jsou vase webove stranky ...
DocumentRoot /var/www
# A nasledujici nastaveni "namapuje" 1CLICK do cesty /1click
Order Deny,Allow
Allow from All
AllowEncodedSlashes On
Redirect /1click /1click/
ProxyPass /1click/ http://localhost:7169/ nocanon
ProxyPassReverse /1click/ http://localhost:7169/
}}}
V nastavení __'''ne'''__používejte direktivu '''{{{ProxyPreserveHost}}}'''.