{"id":10830,"date":"2019-09-30T10:53:59","date_gmt":"2019-09-30T08:53:59","guid":{"rendered":"https:\/\/www.websupport.sk\/podpora\/?post_type=ht_kb&#038;p=10830"},"modified":"2020-07-16T23:17:40","modified_gmt":"2020-07-16T21:17:40","slug":"nginx-apache-na-jednom-ubuntu-18-04-lts-serveri","status":"publish","type":"ht_kb","link":"https:\/\/www.websupport.sk\/podpora\/kb\/nginx-apache-na-jednom-ubuntu-18-04-lts-serveri\/","title":{"rendered":"Nginx + Apache na jednom Ubuntu 18.04 LTS serveri"},"content":{"rendered":"\n<p>Tento tutori\u00e1l pon\u00faka praktick\u00fd n\u00e1vod,&nbsp;<strong>ak\u00fdm sp\u00f4sobom nain\u0161talova\u0165 a nakonfigurova\u0165 Nginx ako reverzn\u00e9 proxy pred Apache<\/strong>&nbsp;na distrib\u00facii Ubuntu 18.04 LTS (Bionic Beaver). Nginx bude s\u00fa\u010dasne mo\u017en\u00e9 pou\u017e\u00edva\u0165 ako samostatn\u00fd webov\u00fd server pre PHP a in\u00e9 aplik\u00e1cie. S\u00fa\u010das\u0165ou tutori\u00e1lu je aj konfigur\u00e1cia SSL a proxovanie len vybran\u00fdch typov s\u00faborov.<\/p>\n\n\n\n<p class=\"has-background has-pale-cyan-blue-background-color\"><strong>Pozn\u00e1mka<\/strong>: Tutori\u00e1l je ur\u010den\u00fd pre virtu\u00e1lny server (VPS) od spolo\u010dnosti WebSupport, av\u0161ak je aplikovate\u013en\u00fd aj na in\u00e9 prostredie, plaformy a poskytovate\u013eov s danou distrib\u00faciou opera\u010dn\u00e9ho syst\u00e9mu.<\/p>\n\n\n\n<p><a href=\"http:\/\/nginx.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Nginx<\/a>&nbsp;aj&nbsp;<a href=\"https:\/\/httpd.apache.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Apache<\/a>&nbsp;patria medzi najroz\u0161\u00edrenej\u0161ie webov\u00e9 servery. V\u00fdhodou pri t\u00fdchto dvoch technol\u00f3gi\u00e1ch je najm\u00e4 to, \u017ee si nemus\u00edte vybera\u0165. Nie je potrebn\u00e9 vlastni\u0165 ani dve IP adresy, aby ka\u017ed\u00fd server be\u017eal na jednej z nich, \u010di dokonca zad\u00e1va\u0165 URL v tvare&nbsp;<code>https:\/\/example.com:80<\/code>, \u010di&nbsp;<code>https:\/\/example.com:81<\/code>.<\/p>\n\n\n\n<p class=\"has-background has-pale-cyan-blue-background-color\"><strong>Pozn\u00e1mka: <\/strong>Pred v\u00e4\u010d\u0161\u00edmi z\u00e1sahmi do v\u00e1\u0161ho virtu\u00e1lneho servera odpor\u00fa\u010dame v\u017edy vytvori\u0165&nbsp;<a href=\"https:\/\/www.websupport.sk\/podpora\/index.php?type=page&amp;urlcode=519987&amp;title=Snapshoty-na-virtu%C3%A1lnom-serveri\">snapshot servera<\/a>. Obnovou snapshotu je mo\u017en\u00e9 vr\u00e1ti\u0165 sa presne do stavu, kedy bol snapshot vytvoren\u00fd.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ne\u017e za\u010dneme<\/h2>\n\n\n\n<p class=\"has-background has-pale-cyan-blue-background-color\"><strong>Pozn\u00e1mka: <\/strong>Na z\u00e1kladn\u00fa in\u0161tal\u00e1ciu odpor\u00fa\u010dame&nbsp;<strong>aspo\u0148 bal\u00edk virtu\u00e1lneho servera V3<\/strong>&nbsp;&#8211; CPU, RAM pam\u00e4\u0165 i SSD disk je samozrejme mo\u017en\u00e9 kedyko\u013evek zv\u00e4\u010d\u0161i\u0165.<\/p>\n\n\n\n<p>Opera\u010dn\u00fd syst\u00e9m v tomto pr\u00edpade zvol\u00edme&nbsp;<strong>Ubuntu 18.04 LTS<\/strong>&nbsp;(jeho ofici\u00e1lna podpora bude do roku 2023),&nbsp;<strong>konfigur\u00e1ciu minimal<\/strong>, teda bez predin\u0161talovan\u00fdch bal\u00edkov (v pr\u00edpade zvolenia LAMP alebo LEMP konfigur\u00e1cie je taktie\u017e mo\u017en\u00e9 pokra\u010dova\u0165).<\/p>\n\n\n\n<p class=\"has-background has-text-align-center has-cyan-bluish-gray-background-color\"><a rel=\"noreferrer noopener\" href=\"https:\/\/www.websupport.sk\/virtual-server\" target=\"_blank\"><strong>Vysk\u00fa\u0161a\u0165 WebSupport VPS zdarma<\/strong><\/a><\/p>\n\n\n\n<p>Ako prv\u00fd krok po vytvoren\u00ed VPS a prihl\u00e1sen\u00ed sa cez&nbsp;<code>root<\/code>&nbsp;\u00fa\u010det (alebo s dostato\u010dn\u00fdmi pr\u00e1vami) vykon\u00e1me update a upgrade bal\u00ed\u010dkov (v pr\u00edpade update-u bal\u00ed\u010dka, napr\u00edklad&nbsp;<code>grub<\/code>, odpor\u00fa\u010dame necha\u0165 aktu\u00e1lne nastavenia):<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">apt update &amp;&amp; apt upgrade -y<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">In\u0161tal\u00e1cia a konfigur\u00e1cia Apache<\/h2>\n\n\n\n<p>Po \u00faspe\u0161nom stiahnut\u00ed najnov\u0161\u00edch bal\u00ed\u010dkov nain\u0161talujeme a nakonfigurujeme webov\u00fd server Apache. In\u0161tal\u00e1cia je relat\u00edvne jednoduch\u00e1 \u2013 m\u00f4\u017eete pou\u017ei\u0165 aj in\u0161tal\u00e1ciu z LAMP konfigur\u00e1cie servera.<\/p>\n\n\n\n<p>Stiahneme d\u00f4le\u017eit\u00e9 bal\u00ed\u010dky \u2013&nbsp;<code>apache2<\/code>&nbsp;a najnov\u0161iu verziu PHP:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">apt install apache2 php -y<\/pre>\n\n\n\n<p>Po nain\u0161talovan\u00ed n\u00e1m Apache web-server po\u010d\u00fava na porte 80. Tento port chceme ponecha\u0165 pre server Nginx, ktor\u00fd bude&nbsp;<em>\u201est\u00e1\u0165 pred n\u00edm\u201c<\/em>. Bude teda potrebn\u00e9 port zmeni\u0165 na in\u00fd, napr\u00edklad&nbsp;<code>8080<\/code>&nbsp;pre nezabezpe\u010den\u00fa komunik\u00e1ciu a&nbsp;<code>8443<\/code>&nbsp;pre zabezpe\u010den\u00fa. Pre \u00fapravu textov\u00fdch s\u00faborov je mo\u017en\u00e9 pou\u017ei\u0165 r\u00f4zne CLI textov\u00e9 editory, v na\u0161om pr\u00edpade&nbsp;<code>nano<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">nano \/etc\/apache2\/apache2.conf<\/pre>\n\n\n\n<p>Konfigura\u010dn\u00fd s\u00fabor uprav\u00edme nasledovne:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Listen 8080\n&lt;IfModule ssl_module&gt;\nListen 8443\n&lt;\/IfModule&gt;\n&lt;IfModule mod_gnutls.c&gt;\nListen 8443\n&lt;\/IfModule&gt;<\/pre>\n\n\n\n<p>S\u00fabor n\u00e1sledne ulo\u017e\u00edme. Ako druh\u00fa \u010das\u0165 je potrebn\u00e9 upravi\u0165 samotn\u00fd&nbsp;<code>VirtualHost<\/code>, aby korektne fungoval na novom porte:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">nano \/etc\/apache2\/sites-available\/000-default.conf<\/pre>\n\n\n\n<p>Uprav\u00edme prv\u00fd riadok:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">nano \/etc\/apache2\/sites-available\/000-default.conf<\/pre>\n\n\n\n<p>Uprav\u00edme prv\u00fd riadok:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;VirtualHost *:8080&gt;\n        ServerAdmin webmaster@localhost\n        DocumentRoot \/var\/www\/html\n        ErrorLog ${APACHE_LOG_DIR}\/error.log\n        CustomLog ${APACHE_LOG_DIR}\/access.log combined\n&lt;\/VirtualHost&gt;<\/pre>\n\n\n\n<p>Pre aktiv\u00e1ciu v\u0161etk\u00fdch vykonan\u00fdch zmien je potrebn\u00e9 slu\u017ebu&nbsp;<code>apache2<\/code>&nbsp;re\u0161tartova\u0165:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/etc\/init.d\/apache2 restart<\/pre>\n\n\n\n<p>Preveri\u0165 dostupnos\u0165&nbsp;<code>apache2<\/code>&nbsp;je mo\u017en\u00e9 pomocou portu priamo v URL prehliada\u010da. Pri dom\u00e9ne s roz\u0161\u00edren\u00fdm DNS z\u00e1znamom (v tomto pr\u00edpade&nbsp;<code>example.com<\/code>) zad\u00e1me&nbsp;<code>http:\/\/example.com:8080<\/code>. Pokia\u013e na\u0161a dom\u00e9na e\u0161te nem\u00e1 roz\u0161\u00edren\u00e9 DNS z\u00e1znamy, m\u00f4\u017eeme pou\u017ei\u0165 priamo IP adresu servera s portom 8080. Priv\u00edta\u0165 by n\u00e1s mala z\u00e1kladn\u00e1 str\u00e1nka Ubuntu.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"783\" height=\"640\" src=\"https:\/\/www.websupport.sk\/podpora\/app\/uploads\/sites\/2\/2019\/09\/apache-783x640.png\" alt=\"\" class=\"wp-image-10854\" srcset=\"https:\/\/www.websupport.sk\/podpora\/app\/uploads\/sites\/2\/2019\/09\/apache-783x640.png 783w, https:\/\/www.websupport.sk\/podpora\/app\/uploads\/sites\/2\/2019\/09\/apache-50x41.png 50w, https:\/\/www.websupport.sk\/podpora\/app\/uploads\/sites\/2\/2019\/09\/apache-60x49.png 60w, https:\/\/www.websupport.sk\/podpora\/app\/uploads\/sites\/2\/2019\/09\/apache-100x82.png 100w, https:\/\/www.websupport.sk\/podpora\/app\/uploads\/sites\/2\/2019\/09\/apache.png 812w\" sizes=\"auto, (max-width: 783px) 100vw, 783px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">In\u0161tal\u00e1cia a konfigur\u00e1cia Nginx<\/h2>\n\n\n\n<p>Po \u00faspe\u0161nom nakonfigurovan\u00ed Apache m\u00f4\u017eeme nain\u0161talova\u0165 server Nginx:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">apt install nginx -y<\/pre>\n\n\n\n<p>Po nain\u0161talovan\u00ed sa uist\u00edme, \u017ee sa slu\u017eba&nbsp;<code>nginx<\/code>&nbsp;zapne aj pri re\u0161tartovan\u00ed servera a taktie\u017e, \u017ee aktu\u00e1lne slu\u017eba be\u017e\u00ed:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">systemctl enable nginx.service\n\/etc\/init.d\/nginx restart<\/pre>\n\n\n\n<p>V z\u00e1kladnej in\u0161tal\u00e1cii by mal server&nbsp;<code>nginx<\/code>&nbsp;po\u010d\u00fava\u0165 na porte&nbsp;<code>80<\/code>&nbsp;a po nami vykonan\u00fdch zmen\u00e1ch by mal server&nbsp;<code>apache2<\/code>&nbsp;po\u010d\u00fava\u0165 na porte&nbsp;<code>8080<\/code>. Pre kontrolu t\u00fdchto nastaven\u00ed m\u00f4\u017eeme preveri\u0165 aktu\u00e1lne otvoren\u00e9 porty n\u00e1\u0161ho servera cez pr\u00edkaz&nbsp;<code>netstat<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">netstat -tlpn<\/pre>\n\n\n\n<p>Konfigur\u00e1cia parametrov proxovania z Nginx na Apache sa nach\u00e1dza v s\u00fabore&nbsp;<code>\/etc\/nginx\/proxy_params<\/code>. Medzi z\u00e1kladn\u00fdmi parametrami n\u00e1jdeme nasledovn\u00e9:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">proxy_set_header Host $http_host;\nproxy_set_header X-Real-IP $remote_addr;\nproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\nproxy_set_header X-Forwarded-Proto $scheme;<\/pre>\n\n\n\n<p>Parametre sa daj\u00fa doplni\u0165 o mnoh\u00e9 u\u017eito\u010dn\u00e9 direkt\u00edvy. Ich kompletn\u00fd zoznam je mo\u017en\u00e9 n\u00e1js\u0165 na adrese&nbsp;<a href=\"http:\/\/nginx.org\/en\/docs\/http\/ngx_http_proxy_module.html\" target=\"_blank\" rel=\"noreferrer noopener\">nginx.org\/en\/docs\/http\/ngx_http_proxy_module.html<\/a>. Z h\u013eadiska n\u00e1\u0161ho nastavenia prid\u00e1me pod \u0161tyri existuj\u00face direkt\u00edvy \u010fal\u0161ie \u0161tyri na\u0161e:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">proxy_buffering on;\nproxy_buffer_size 64k;\nproxy_buffers 256 8k;\nproxy_read_timeout 120;<\/pre>\n\n\n\n<p>Parametre sa daj\u00fa \u0161pecifikova\u0165 aj priamo v nastaven\u00ed&nbsp;<code>VirtualHost<\/code>&nbsp;a pod Nginx serverom.<br>N\u00e1sledne uprav\u00edme v\u00fdchodziu str\u00e1nku Nginx (<code>\/etc\/nginx\/sites-available\/default<\/code>) a to tak, aby v\u0161etky po\u017eiadavky (requesty) na port&nbsp;<code>80<\/code>&nbsp;boli zaslan\u00e9 (proxovan\u00e9) na server Apache:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">server {\n     listen 80 default_server;\n     index index.html index.htm index.nginx-debian.html;\n     server_name example.com www.example.com;\n     location \/ {\n       proxy_pass http:\/\/localhost:8080;\n       include \/etc\/nginx\/proxy_params;\n     }\n}<\/pre>\n\n\n\n<p>Aby sme zmeny aplikovali, je potrebn\u00e9 server Nginx re\u0161tartova\u0165:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/etc\/init.d\/nginx restart<\/pre>\n\n\n\n<p>Overi\u0165 spr\u00e1vne proxovanie m\u00f4\u017eeme napr\u00edklad pomocou developer n\u00e1strojov v prehliada\u010di. Sta\u010d\u00ed zada\u0165 n\u00e1zov dom\u00e9ny alebo IP adresu servera do po\u013ea URL (v na\u0161om pr\u00edpade&nbsp;<code>195.210.29.181<\/code>), pri\u010dom d\u00f4raz kladieme na&nbsp;<strong>Response headers \u2013 Server<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"783\" height=\"382\" src=\"https:\/\/www.websupport.sk\/podpora\/app\/uploads\/sites\/2\/2019\/09\/nginx-783x382.png\" alt=\"\" class=\"wp-image-10857\" srcset=\"https:\/\/www.websupport.sk\/podpora\/app\/uploads\/sites\/2\/2019\/09\/nginx-783x382.png 783w, https:\/\/www.websupport.sk\/podpora\/app\/uploads\/sites\/2\/2019\/09\/nginx-50x24.png 50w, https:\/\/www.websupport.sk\/podpora\/app\/uploads\/sites\/2\/2019\/09\/nginx-60x29.png 60w, https:\/\/www.websupport.sk\/podpora\/app\/uploads\/sites\/2\/2019\/09\/nginx-100x49.png 100w, https:\/\/www.websupport.sk\/podpora\/app\/uploads\/sites\/2\/2019\/09\/nginx.png 1919w\" sizes=\"auto, (max-width: 783px) 100vw, 783px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Zr\u00fdchlenie konfigur\u00e1cie<\/h2>\n\n\n\n<p>Ako v\u0161ak zn\u00ed\u017ei\u0165 odozvu VPS ako web servera? Ako od\u013eah\u010di\u0165 Apache server, aby fungoval r\u00fdchlej\u0161ie? Samotn\u00fdm proxovan\u00edm medzi servermi toti\u017e a\u017e tak ve\u013ea nez\u00edskame. Predstav\u00edme si dva sp\u00f4soby zr\u00fdchlenia va\u0161ej konfigur\u00e1cie.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">a) Spracovanie SSL zabezpe\u010denia u\u017e na slu\u017ebe Nginx<\/h3>\n\n\n\n<p>Medzi \u0161tandardy dne\u0161n\u00fdch webov rozhodne patr\u00ed SSL certifik\u00e1t a protokol HTTPS. Tieto certifik\u00e1ty je mo\u017en\u00e9 bu\u010f&nbsp;<a href=\"https:\/\/www.websupport.sk\/ssl-certifikaty\" target=\"_blank\" rel=\"noreferrer noopener\">k\u00fapi\u0165<\/a>, alebo z\u00edska\u0165 jednu z free verzi\u00ed, napr\u00edklad od spolo\u010dnosti&nbsp;<a href=\"https:\/\/www.websupport.sk\/podpora\/index.php?type=page&amp;urlcode=033763&amp;title=Lets-Encrypt-SSL-certifik%C3%A1ty-na-VPS-Ubuntu\" target=\"_blank\" rel=\"noreferrer noopener\">Let\u2019s Encrypt<\/a>. Na VPS vytvor\u00edme prie\u010dinok, v ktorom budeme dr\u017ea\u0165 s\u00fabory certifik\u00e1tov (<code>example.com<\/code>&nbsp;nahrad\u00edme n\u00e1zvom dom\u00e9ny) a do tohto prie\u010dinka vlo\u017e\u00edme dva s\u00fabory \u2013 priv\u00e1tny k\u013e\u00fa\u010d (<code>private.key<\/code>) a certifik\u00e1t spojen\u00fd s certificate chain (<code>certificate.crt<\/code>):<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">mkdir -p \/etc\/ssl\/example.com\nnano \/etc\/ssl\/example.com\/private.key\nnano \/etc\/ssl\/example.com\/certificate.crt<\/pre>\n\n\n\n<p>N\u00e1sledne m\u00f4\u017eeme upravi\u0165 s\u00fabor&nbsp;<code>VirtualHost<\/code>&nbsp;pre slu\u017ebu Nginx (<code>\/etc\/nginx\/sites-available\/default<\/code>) tak, aby bol ka\u017ed\u00fd nezabezpe\u010den\u00fd request cez protokol HTTP na port&nbsp;<code>80<\/code>&nbsp;presmerovan\u00fd na zabezpe\u010den\u00fd protokol HTTPS a port&nbsp;<code>443<\/code>&nbsp;jednoduch\u00fdm redirectom a n\u00e1sledne obsl\u00fa\u017een\u00fd backend serverom Apache:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">server {\n        listen 80 default_server;\n        server_name example.com www.example.com;\n        return 301 https:\/\/$server_name;\n}\n\nserver {\n        listen 443 default_server;\n        ssl on;\n        ssl_certificate \/etc\/ssl\/example.com\/certificate.crt;\n        ssl_certificate_key \/etc\/ssl\/example.com\/private.key;\n        ssl_protocols SSLv3 TLSv1.1 TLSv1.2;\n        location \/ {\n            proxy_pass http:\/\/localhost:8080;\n            include \/etc\/nginx\/proxy_params;\n        }\n}<\/pre>\n\n\n\n<p>Aby sme op\u00e4\u0165 aplikovali vykonan\u00e9 zmeny, je potrebn\u00e9 server Nginx re\u0161tartova\u0165:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/etc\/init.d\/nginx restart<\/pre>\n\n\n\n<p>Po zadan\u00ed dom\u00e9ny do URL n\u00e1s aktu\u00e1lne presmeruje Nginx server na HTTPS protokol a obsl\u00fa\u017ei n\u00e1\u0161 request certifik\u00e1tom napriek tomu, \u017ee po\u017eiadavku prepo\u0161le na backend servera Apache.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">b) Proxovanie po\u017eiadaviek iba pre vybran\u00e9 s\u00fabory<\/h3>\n\n\n\n<p>Nako\u013eko je Nginx zn\u00e1my najm\u00e4 svojou r\u00fdchlos\u0165ou, oplat\u00ed sa mnoho s\u00faborov obsl\u00fa\u017ei\u0165 u\u017e na tejto slu\u017ebe a neposiela\u0165 ich na backendov\u00fd server Apache. Zvoli\u0165 teda m\u00f4\u017eeme iba proxovanie&nbsp;<code>.php<\/code>&nbsp;s\u00faborov, zatia\u013e \u010do ostatn\u00e9 obsl\u00fa\u017eime priamo. Na otestovanie si vytvor\u00edme s\u00fabor s funkciou&nbsp;<code>phpinfo<\/code>(<code>)<\/code>&nbsp;v prie\u010dinku s webom <code>\/var\/www\/html\/info.php<\/code><\/p>\n\n\n\n<p>Po vytvoren\u00ed sta\u010d\u00ed upravi\u0165 direkt\u00edvy&nbsp;<code>location<\/code>. Prid\u00e1me taktie\u017e direkt\u00edvu&nbsp;<code>index<\/code>, ktorou definujeme, aby Nginx h\u013eadal z\u00e1kladn\u00fa str\u00e1nku pre zobrazenie pr\u00e1ve pod s\u00faborom&nbsp;<code>index.nginx-debian.html<\/code>, \u010do n\u00e1m posl\u00fa\u017ei na jednoduch\u0161ie vyobrazenie rozdielu medzi s\u00fabormi, ktor\u00e9 obsluhuje Nginx a ktor\u00e9 Apache server:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">server {\n        listen 80 default_server;\n        server_name example.com www.example.com;\n        return 301 https:\/\/$server_name;\n}\n\nserver {\n        listen 443 default_server;\n        root \/var\/www\/html;\n        ssl on;\n        ssl_certificate \/etc\/ssl\/example.com\/certificate.crt;\n        ssl_certificate_key \/etc\/ssl\/example.com\/private.key;\n        ssl_protocols SSLv3 TLSv1.1 TLSv1.2;\n        location \/ {\n            index index.nginx-debian.html;\n        }\n        location ~ \\.php {\n            proxy_pass http:\/\/localhost:8080;\n            include \/etc\/nginx\/proxy_params;\n        }\n}<\/pre>\n\n\n\n<p>Aktu\u00e1lne je teda na\u0161a dom\u00e9na&nbsp;<code>example.com<\/code>&nbsp;presmerovan\u00e1 na HTTPS protokol a zobraz\u00ed n\u00e1m z\u00e1kladn\u00fa str\u00e1nku Nginx. Po zadan\u00ed&nbsp;<code>example.com\/info.php<\/code>&nbsp;sme u\u017e proxovan\u00ed na Apache server, ktor\u00fd spracuje PHP s\u00fabor.<\/p>\n\n\n\n<p>Proxovanie iba vybran\u00fdch s\u00faborov m\u00e1 ve\u013emi ve\u013ek\u00e9 vyu\u017eitie pri zr\u00fdch\u013eovan\u00ed str\u00e1nok. V praxi je to napr\u00edklad definovanie statick\u00fdch s\u00faborov pod\u013ea koncovky, ktor\u00e9 m\u00f4\u017eu zosta\u0165 v pam\u00e4ti cache a\u017e 3 mesiace a bud\u00fa pod\u00e1van\u00e9 u\u017e komprimovan\u00e9 pomocou&nbsp;<code>gzip<\/code>. Nepotrebujeme, aby sa zapisovali do access logu a budeme im prid\u00e1va\u0165 vlastn\u00fa hlavi\u010dku&nbsp;<code>Cache-Control<\/code>. Tak\u00e1to konfigur\u00e1cia by vyzerala nasledovne:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">server {\n        listen 80 default_server;\n        server_name example.com www.example.com;\n        return 301 https:\/\/$server_name;\n}\n\nserver {\n        listen 443 default_server;\n        root \/var\/www\/html;\n        ssl on;\n        ssl_certificate \/etc\/ssl\/example.com\/certificate.crt;\n        ssl_certificate_key \/etc\/ssl\/example.com\/private.key;\n        ssl_protocols SSLv3 TLSv1.1 TLSv1.2;\n        location ~* .(ico|png|gif|jpg|jpeg|swf|woff|css|js|html)$ {\n            access_log off;\n            gzip_static on;\n            gzip_comp_level 5;\n            expires 3M;\n            add_header Cache-Control private;\n        }\n        location \/ {\n            index index.nginx-debian.html;\n        }\n        location ~ \\.php {\n            proxy_pass http:\/\/localhost:8080;\n            include \/etc\/nginx\/proxy_params;\n        }\n}<\/pre>\n\n\n\n<p>Pre najbe\u017enej\u0161ie pou\u017eitie je ide\u00e1lne e\u0161te definova\u0165 tzv. \u201efallback\u201c \u2013 teda definova\u0165 na Nginx serveri cesty, kde m\u00e1 ktor\u00e9 s\u00fabory h\u013eada\u0165 a a\u017e ke\u010f sa s\u00fabory nen\u00e1jdu, sk\u00fasi\u0165 ich proxova\u0165 na Apache server. Toto nastavenie sa naj\u010dastej\u0161ie pou\u017e\u00edva pri CMS WordPress alebo in\u00fdch aplik\u00e1ci\u00e1ch, ktor\u00e9 pou\u017e\u00edvaj\u00fa v Apache&nbsp;<code>mod_rewrite<\/code>. Aktivujeme teda&nbsp;<code>mod_rewrite<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">a2enmod rewrite\nsystemctl restart apache2<\/pre>\n\n\n\n<p>Obohat\u00edme posledn\u00fa konfigur\u00e1ciu o fallback na Apache server (t\u00fdmto krokom taktie\u017e sfunk\u010dn\u00edme logo na z\u00e1kladnej str\u00e1nke Apache \u2013&nbsp;<code>example.com\/index.html<\/code>), a zak\u00e1\u017eeme priamy pr\u00edstup k s\u00faborom s bodkou (ako napr\u00edklad&nbsp;<code>.htaccess<\/code>,&nbsp;<code>.htpasswd<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">server {\n        listen 80 default_server;\n        server_name proxyngap.docolomansky.sk www.proxyngap.docolomansky.sk;\n        return 301 https:\/\/$server_name;\n}\n\nserver {\n        listen 443 default_server;\n        root \/var\/www\/html;\n        ssl on;\n        ssl_certificate \/etc\/ssl\/example.com\/certificate.crt;\n        ssl_certificate_key \/etc\/ssl\/example.com\/private.key;\n        ssl_protocols SSLv3 TLSv1.1 TLSv1.2;\n        location ~* .(ico|jpg|png|gif|jpeg|css|swf|js|woff|html)$ {\n            access_log off;\n            gzip_static on;\n            gzip_comp_level 5;\n            expires 3M;\n            add_header Cache-Control private;\n            try_files $uri @proxy;\n        }\n        location @proxy {\n            proxy_pass http:\/\/localhost:8080;\n        }\n        location \/ {\n            index index.nginx-debian.html;\n        }\n        location ~ \\.php {\n            proxy_pass http:\/\/localhost:8080;\n            include \/etc\/nginx\/proxy_params;\n        }\n        location ~ \/\\. {\n            deny all;\n        }\n}<\/pre>\n\n\n\n<p>Po zmene konfigur\u00e1ci\u00ed je op\u00e4\u0165 potrebn\u00e9 re\u0161tartova\u0165 slu\u017ebu&nbsp;<code>nginx<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/etc\/init.d\/nginx restart<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u010eal\u0161ie zdroje<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.howtoforge.com\/tutorial\/how-to-install-nginx-as-reverse-proxy-for-apache-on-ubuntu-16-04\/\" target=\"_blank\" rel=\"noreferrer noopener\">How to install nginx as a Reverse Proxy for Apache on Ubuntu 16.04<\/a><\/li><li><a href=\"http:\/\/kbeezie.com\/apache-with-nginx\/\" target=\"_blank\" rel=\"noreferrer noopener\">Apache and Nginx Together<\/a><\/li><li><a href=\"https:\/\/www.hugeserver.com\/kb\/configure-nginx-reverse-proxy-apache-debian-ubuntu\/\" target=\"_blank\" rel=\"noreferrer noopener\">How to configure Nginx as a reverse proxy for Apache on Debian and Ubuntu<\/a><\/li><li><a href=\"https:\/\/www.digitalocean.com\/community\/tutorials\/how-to-configure-nginx-as-a-web-server-and-reverse-proxy-for-apache-on-one-ubuntu-18-04-server#step-1-%E2%80%94-installing-apache-and-php-fpm\" target=\"_blank\" rel=\"noreferrer noopener\">How To Configure Nginx as a Web Server and Reverse Proxy for Apache on One Ubuntu 18.04 Server<\/a><\/li><li><a href=\"https:\/\/www.digitalocean.com\/community\/tutorials\/how-to-configure-nginx-as-a-reverse-proxy-for-apache#install-apache\" target=\"_blank\" rel=\"noreferrer noopener\">How To Configure Nginx as a Reverse Proxy for Apache<\/a><\/li><li><a href=\"https:\/\/www.digitalocean.com\/community\/tutorials\/apache-vs-nginx-practical-considerations\" target=\"_blank\" rel=\"noreferrer noopener\">Apache vs Nginx: Practical Considerations<\/a><\/li><li><a href=\"https:\/\/bjornjohansen.no\/nginx-redirect\" target=\"_blank\" rel=\"noreferrer noopener\">How to do an Nginx redirect<\/a><\/li><li><a href=\"https:\/\/wiki.ubuntu.com\/Releases\" target=\"_blank\" rel=\"noreferrer noopener\">Ubuntu Releases<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Tento tutori\u00e1l pon\u00faka praktick\u00fd n\u00e1vod,&nbsp;ak\u00fdm sp\u00f4sobom nain\u0161talova\u0165 a nakonfigurova\u0165 Nginx ako reverzn\u00e9 proxy pred Apache&nbsp;na distrib\u00facii Ubuntu 18.04 LTS (Bionic Beaver). Nginx bude s\u00fa\u010dasne mo\u017en\u00e9 pou\u017e\u00edva\u0165 ako samostatn\u00fd webov\u00fd server pre PHP a in\u00e9 aplik\u00e1cie. S\u00fa\u010das\u0165ou tutori\u00e1lu je aj konfigur\u00e1cia SSL a proxovanie len vybran\u00fdch typov s\u00faborov. Pozn\u00e1mka: Tutori\u00e1l je&#8230;<\/p>\n","protected":false},"author":28,"template":"","format":"standard","meta":{"footnotes":""},"ht-kb-category":[52],"ht-kb-tag":[210,255,198,201],"class_list":["post-10830","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-vps","ht_kb_tag-apache2","ht_kb_tag-nginx","ht_kb_tag-ubuntu","ht_kb_tag-ubuntu-18-04-lts"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Nginx + Apache na jednom Ubuntu 18.04 LTS serveri - Websupport centrum podpory<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.websupport.sk\/podpora\/kb\/nginx-apache-na-jednom-ubuntu-18-04-lts-serveri\/\" \/>\n<meta property=\"og:locale\" content=\"sk_SK\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Nginx + Apache na jednom Ubuntu 18.04 LTS serveri - Websupport centrum podpory\" \/>\n<meta property=\"og:description\" content=\"Tento tutori\u00e1l pon\u00faka praktick\u00fd n\u00e1vod,&nbsp;ak\u00fdm sp\u00f4sobom nain\u0161talova\u0165 a nakonfigurova\u0165 Nginx ako reverzn\u00e9 proxy pred Apache&nbsp;na distrib\u00facii Ubuntu 18.04 LTS (Bionic Beaver). Nginx bude s\u00fa\u010dasne mo\u017en\u00e9 pou\u017e\u00edva\u0165 ako samostatn\u00fd webov\u00fd server pre PHP a in\u00e9 aplik\u00e1cie. S\u00fa\u010das\u0165ou tutori\u00e1lu je aj konfigur\u00e1cia SSL a proxovanie len vybran\u00fdch typov s\u00faborov. Pozn\u00e1mka: Tutori\u00e1l je...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.websupport.sk\/podpora\/kb\/nginx-apache-na-jednom-ubuntu-18-04-lts-serveri\/\" \/>\n<meta property=\"og:site_name\" content=\"Websupport centrum podpory\" \/>\n<meta property=\"article:modified_time\" content=\"2020-07-16T21:17:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.websupport.sk\/podpora\/app\/uploads\/sites\/2\/2019\/09\/apache-783x640.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Predpokladan\u00fd \u010das \u010d\u00edtania\" \/>\n\t<meta name=\"twitter:data1\" content=\"10 min\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/kb\\\/nginx-apache-na-jednom-ubuntu-18-04-lts-serveri\\\/\",\"url\":\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/kb\\\/nginx-apache-na-jednom-ubuntu-18-04-lts-serveri\\\/\",\"name\":\"Nginx + Apache na jednom Ubuntu 18.04 LTS serveri - Websupport centrum podpory\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/kb\\\/nginx-apache-na-jednom-ubuntu-18-04-lts-serveri\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/kb\\\/nginx-apache-na-jednom-ubuntu-18-04-lts-serveri\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/app\\\/uploads\\\/sites\\\/2\\\/2019\\\/09\\\/apache-783x640.png\",\"datePublished\":\"2019-09-30T08:53:59+00:00\",\"dateModified\":\"2020-07-16T21:17:40+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/kb\\\/nginx-apache-na-jednom-ubuntu-18-04-lts-serveri\\\/#breadcrumb\"},\"inLanguage\":\"sk-SK\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/kb\\\/nginx-apache-na-jednom-ubuntu-18-04-lts-serveri\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"sk-SK\",\"@id\":\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/kb\\\/nginx-apache-na-jednom-ubuntu-18-04-lts-serveri\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/app\\\/uploads\\\/sites\\\/2\\\/2019\\\/09\\\/apache.png\",\"contentUrl\":\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/app\\\/uploads\\\/sites\\\/2\\\/2019\\\/09\\\/apache.png\",\"width\":812,\"height\":664},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/kb\\\/nginx-apache-na-jednom-ubuntu-18-04-lts-serveri\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Nginx + Apache na jednom Ubuntu 18.04 LTS serveri\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/#website\",\"url\":\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/\",\"name\":\"Websupport centrum podpory\",\"description\":\"Radi v\u00e1m pom\u00f4\u017eeme s va\u0161im probl\u00e9mom\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.websupport.sk\\\/podpora\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"sk-SK\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Nginx + Apache na jednom Ubuntu 18.04 LTS serveri - Websupport centrum podpory","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.websupport.sk\/podpora\/kb\/nginx-apache-na-jednom-ubuntu-18-04-lts-serveri\/","og_locale":"sk_SK","og_type":"article","og_title":"Nginx + Apache na jednom Ubuntu 18.04 LTS serveri - Websupport centrum podpory","og_description":"Tento tutori\u00e1l pon\u00faka praktick\u00fd n\u00e1vod,&nbsp;ak\u00fdm sp\u00f4sobom nain\u0161talova\u0165 a nakonfigurova\u0165 Nginx ako reverzn\u00e9 proxy pred Apache&nbsp;na distrib\u00facii Ubuntu 18.04 LTS (Bionic Beaver). Nginx bude s\u00fa\u010dasne mo\u017en\u00e9 pou\u017e\u00edva\u0165 ako samostatn\u00fd webov\u00fd server pre PHP a in\u00e9 aplik\u00e1cie. S\u00fa\u010das\u0165ou tutori\u00e1lu je aj konfigur\u00e1cia SSL a proxovanie len vybran\u00fdch typov s\u00faborov. Pozn\u00e1mka: Tutori\u00e1l je...","og_url":"https:\/\/www.websupport.sk\/podpora\/kb\/nginx-apache-na-jednom-ubuntu-18-04-lts-serveri\/","og_site_name":"Websupport centrum podpory","article_modified_time":"2020-07-16T21:17:40+00:00","og_image":[{"url":"https:\/\/www.websupport.sk\/podpora\/app\/uploads\/sites\/2\/2019\/09\/apache-783x640.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Predpokladan\u00fd \u010das \u010d\u00edtania":"10 min\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.websupport.sk\/podpora\/kb\/nginx-apache-na-jednom-ubuntu-18-04-lts-serveri\/","url":"https:\/\/www.websupport.sk\/podpora\/kb\/nginx-apache-na-jednom-ubuntu-18-04-lts-serveri\/","name":"Nginx + Apache na jednom Ubuntu 18.04 LTS serveri - Websupport centrum podpory","isPartOf":{"@id":"https:\/\/www.websupport.sk\/podpora\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.websupport.sk\/podpora\/kb\/nginx-apache-na-jednom-ubuntu-18-04-lts-serveri\/#primaryimage"},"image":{"@id":"https:\/\/www.websupport.sk\/podpora\/kb\/nginx-apache-na-jednom-ubuntu-18-04-lts-serveri\/#primaryimage"},"thumbnailUrl":"https:\/\/www.websupport.sk\/podpora\/app\/uploads\/sites\/2\/2019\/09\/apache-783x640.png","datePublished":"2019-09-30T08:53:59+00:00","dateModified":"2020-07-16T21:17:40+00:00","breadcrumb":{"@id":"https:\/\/www.websupport.sk\/podpora\/kb\/nginx-apache-na-jednom-ubuntu-18-04-lts-serveri\/#breadcrumb"},"inLanguage":"sk-SK","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.websupport.sk\/podpora\/kb\/nginx-apache-na-jednom-ubuntu-18-04-lts-serveri\/"]}]},{"@type":"ImageObject","inLanguage":"sk-SK","@id":"https:\/\/www.websupport.sk\/podpora\/kb\/nginx-apache-na-jednom-ubuntu-18-04-lts-serveri\/#primaryimage","url":"https:\/\/www.websupport.sk\/podpora\/app\/uploads\/sites\/2\/2019\/09\/apache.png","contentUrl":"https:\/\/www.websupport.sk\/podpora\/app\/uploads\/sites\/2\/2019\/09\/apache.png","width":812,"height":664},{"@type":"BreadcrumbList","@id":"https:\/\/www.websupport.sk\/podpora\/kb\/nginx-apache-na-jednom-ubuntu-18-04-lts-serveri\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.websupport.sk\/podpora\/"},{"@type":"ListItem","position":2,"name":"Nginx + Apache na jednom Ubuntu 18.04 LTS serveri"}]},{"@type":"WebSite","@id":"https:\/\/www.websupport.sk\/podpora\/#website","url":"https:\/\/www.websupport.sk\/podpora\/","name":"Websupport centrum podpory","description":"Radi v\u00e1m pom\u00f4\u017eeme s va\u0161im probl\u00e9mom","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.websupport.sk\/podpora\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"sk-SK"}]}},"_links":{"self":[{"href":"https:\/\/www.websupport.sk\/podpora\/wp-json\/wp\/v2\/ht-kb\/10830","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.websupport.sk\/podpora\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/www.websupport.sk\/podpora\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.websupport.sk\/podpora\/wp-json\/wp\/v2\/users\/28"}],"version-history":[{"count":3,"href":"https:\/\/www.websupport.sk\/podpora\/wp-json\/wp\/v2\/ht-kb\/10830\/revisions"}],"predecessor-version":[{"id":15297,"href":"https:\/\/www.websupport.sk\/podpora\/wp-json\/wp\/v2\/ht-kb\/10830\/revisions\/15297"}],"wp:attachment":[{"href":"https:\/\/www.websupport.sk\/podpora\/wp-json\/wp\/v2\/media?parent=10830"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.websupport.sk\/podpora\/wp-json\/wp\/v2\/ht-kb-category?post=10830"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.websupport.sk\/podpora\/wp-json\/wp\/v2\/ht-kb-tag?post=10830"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}