1CLICK pod proxy Apache
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 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 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:
<VirtualHost *:80> <Proxy *> Order Deny,Allow Allow from All /Proxy> AllowEncodedSlashes On ProxyPass / http://localhost:7169/ nocanon ProxyPassReverse / http://localhost:7169/ </VirtualHost>
Příklad, kdy Apache standardně poskytuje běžný obsah a serveru 1CLICK předává jen požadavky na URI začínající /1click:
<VirtualHost *:80> # V tomto adresari jsou vase webove stranky ... DocumentRoot /var/www # A nasledujici nastaveni "namapuje" 1CLICK do cesty /1click <Proxy *> Order Deny,Allow Allow from All </Proxy> AllowEncodedSlashes On Redirect /1click /1click/ ProxyPass /1click/ http://localhost:7169/ nocanon ProxyPassReverse /1click/ http://localhost:7169/ </VirtualHost>
V nastavení nepoužívejte direktivu ProxyPreserveHost.