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 ProxyProxyPass 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.