Jednoduchý proxy server s nginx

Pavel Tipy & triky, Windows, Linux

Pomocí nginx jsem si na svém počítači vytvořil jednoduchý proxy server, který mi umožnil vložit svou stránku pod URL jiné webové aplikace. Proč? Protože formulář pro nahrávání mě příliš omezoval a takto jednoduše jsem si na stránky přidal vlastní.

Jednoduchý proxy server s nginx

Má každodenní práce byla nahrávat stovky fotek na webové stránky. Server ale nahrávání vždy ukončil a uložil pouze 20. Vzhledem k pomalému internetu a častým výpadkům jsem se rozhodl napsat si vlastní AJAXový skript, který nahrává fotky postupně a při výpadku provede obnovení nahrávání.

Kvůli AJAXu jsem ale potřeboval, aby se můj nahrávací skript pro prohlížeč tvářil, jakoby byl součástí webu. Využil jsem tedy nginx server a nakonfiguroval jednoduchý proxy server. Ten požadovanou URL přesměruje na localhost, zatímco všechny ostatní URL přesměruje na původní server.

Konfigurace

Začal jsem tím, že jsem změnil v nastavení Apache port z 80 na 8080, abych nginx mohl spustit na portu 80. Web, na který jsem nahrával fotky, jsem zadal do souboru hosts:

127.0.0.1   muj-web.cz

Stáhl nginx server a ve složce conf upravil soubor nginx.conf následovně:

http {
    ...

    server {
        listen       80;
        server_name  muj-web.cz;
        
        location /admin/custom_upload/ {
            # Přesměrování této URL na localhost
            proxy_pass   http://127.0.0.1:8080/vlastni-upload/;
        }

        location / {
            # IP adresa serveru kam přesměrovat
            # vše kromě /admin/custom_upload/
            proxy_pass   http://8.8.8.8/;
            proxy_set_header Host            $host;
            proxy_set_header X-Forwarded-For $remote_addr;
        }
    }
    
    # localhost jen znovu přepošleme na Apache
    server {
        listen       80;
        server_name  localhost;

        location / {
            proxy_pass   http://127.0.0.1:8080;
        }
    }
}

Server se nemusí instalovat, a po stažení a konfiguraci jej stačí spustit. Není tedy problém si jej uložit i na flash disk a spustit kdykoli je potřeba.

Možnosti nginx

Nginx obsahuje množství modulů, díky kterým můžete nakonfigurovat load balancer, jednoduchý file server ale i komplikovanější reverzní proxy cache a dokonce i mailové proxy servery. Server je velmi rychlý a proto je využíván ve velké míře například společnostmi: Yandex, WordPress.com či Netflix


Využíváte nginx server také? Podělte se o své poznatky a zkušenosti v komentářích.

Přidat komentář

Právě odpovídáte na existující komentář. Zrušit

Komentáře

Novinky z blogu

Školení - Bezpečnost PHP aplikací

Letos jsem si nadělil Vánoční dáreček o něco dříve. V termínu 11. - 12. prosince jsem se zúčastnil školení od Michala Špačka na téma Bezpečnost PHP aplikací. A jaké že to...

Další články