Титла: apache vhost & nginx Публикувано от: mrowcp в Mar 27, 2019, 21:38 Здрваейте колеги,
реших да поразуча nginx (proxy, Load balancing и т.н.) и за целта си вдигнах една виртуалка на рутера CentOS 7 (наричан долу router и виртуалка shmatka) На shatka сложих IP: 192.168.1.11 , а router си е 192.168.1.1 Пуснах nginx, направих всички настройки и зададох следната конфигурация за proxy мод: Цитат http { Разбира се не тръгна :) В лога на shmatka пише, че няма рутиране към хоста, а то има. Цитат 2019/03/27 15:25:14 [error] 16256#0: *33 connect() failed (113: No route to host) while connecting to upstream, client: 192.168.1.2, server: , request: "GET /favicon.ico HTTP/1.1", upstream: "http://192.168.1.1:80/wordpress/favicon.ico", host: "192.168.1.11", referrer: "http://192.168.1.11/" Всъщност се оказа, че от локалната мрежа (работната ми Win станция) не мога в браузъра да заредя http://192.168.1.1 Дава ми стандартното "This site can’t be reached". На router имам конфигурирани няколко vhost-а които си се зареждат нормално. И сега питането ми е: как да задам кой от виртуалните хостове да се зарежда при отварянето на 192.168.1.1? Опитах с: Цитат <VirtualHost 192.168.1.1:80> , но нещо несработва. Титла: Re: apache vhost & nginx Публикувано от: makeme в Mar 27, 2019, 21:52 Ако схващам добре, имаш апаче и nginx само като прокси.
В този случай мисля че проблемът ти е в апачето. Спомена че имаш няколко виртуални хоста. Това реално означава, че или нямаш _default_ или нещо такова (предполагам че всички са на ИП 192.168.1.1). Принципно за такъв се използва следното: Код: <VirtualHost *:80> илиКод: <VirtualHost _default_:443> Отделно за 2та сървъра някъде трябва да има нещо от рода: Код: Listen 80 <IfModule ssl_module> Listen 443 </IfModule> Смисъл конф, в който са описани кой, къде слуша. ПП: А и забравих да спомена че към вхостовете трябва да имаш и домейните : Код: ServerName www.example.com ServerAlias example.com (optional) Титла: Re: apache vhost & nginx Публикувано от: makeme в Mar 27, 2019, 21:53 Така или иначе го сложих този пост 2 пъти, поне да използвам мястото и да попитам:
Дай малко повече инфо за другите хостове. Основно разликите между тях. Дали са на едно ИП, дали са на един порт, дали са с различни домейни. Има огромна разлика при конфигурирането, на различните сетъпи. Титла: Re: apache vhost & nginx Публикувано от: mrowcp в Mar 28, 2019, 15:11 Да, в бързината явно съм пропуснал важните неща :)
Имам вдигнати 4 vhost-а (4 различни домейна) които се зареждат нормално по hostname's. Всички са с конфигурации от вида: Код: <VirtualHost *:80> ServerAdmin admin@hostname1.com DocumentRoot /home/mrowcp/public_html/hostname1/ ServerName hostname1.com ErrorLog logs/hostname1.com-error_log CustomLog logs/hostname1.com-access_log common </VirtualHost> и са достъпни през порт 80. Разликите са, едното е wordpress, другото е html страница, третото е java и т.н. На едно IP се намират. Машината е въпросният router с един LAN и един WAN интерфейс. Може би ще е по-добре за лаба, да вдигна втора виртуалка и да разцъквам между двете, вместо да намесвам router? Титла: Re: apache vhost & nginx Публикувано от: makeme в Mar 28, 2019, 15:26 Ако в твоя случай това ИП е 192.168.1.1 (където са всички вихостове) значи направи и новия такъв по домейн, тъй като се получава конфликт.
Отделно като чуя рутер и 192.168.1.1 се сещам за стандартен уебитерфейс на рутер и се чудя дали нямаш и паралелен уебсървър, който също да конфликтира. ПП: След като си го подкараш вхоста под апача, вече гледай вхоста на nginxa. Принципно този сетъп се използва на обратно :) пп2: Цитат Може би ще е по-добре за лаба, да вдигна втора виртуалка и да разцъквам между двете, вместо да намесвам router?Не знам какъв ти е рутера, но аз лично бих предпочел виртуалката. Титла: Re: apache vhost & nginx Публикувано от: mrowcp в Mar 28, 2019, 17:35 Ако в твоя случай това ИП е 192.168.1.1 (където са всички вихостове) значи направи и новия такъв по домейн, тъй като се получава конфликт. "значи направи и новия такъв по домейн" - не съм сигурен какво точно имаш предвид. Аз искам просто един от всичките домейни от vhost-товете да стане видим при зареждане на 192.168.1.1 (нямам притенции кой). Под рутер имам предвид машина с рандом хардуер на която има инсталирам CentOS с правила за рутиране на интернет. ПП-то също не го разбирам :) Какво имаш предвид, че се "използва обратно"? Нали nginx трябва да има само сетъп за прокси/Лоуд балансър? EDIT: Според ръководството ($2) на apache, нещата би трябвало да станат по следният начин: Код: <VirtualHost 192.168.1.1 172.20.30.40> DocumentRoot "/www/server1" ServerName server.example.com ServerAlias server </VirtualHost> Смених само 172... с въшното ми IP, но пак от вътрешната мрежа не се зарежда въпросното съдържание в "DocumentRoot "/www/server1"". Иначе от вън по домейн, страницата се зарежда. Добавих и правила за локалната мрежа в firewall-cmd, да не би да е от там, въпреки че Win машината ми е тръстед, но пак нищо: Код: services: mdns dhcpv6-client samba-client ssh samba ports: 1900/udp 8200/tcp 5900/tcp В http логовете на въпросният vhost изобщо нефигурират заявки от 192.168.1.2 Windows работната станция, от която се опитвам да го достъпя. Титла: Re: apache vhost & nginx Публикувано от: makeme в Mar 28, 2019, 18:07 Еми когато напишеш 192.168.1.1 в браузъра, реално при апача отива 192.168.1.1:80 (просто браузърите не показват порт 80 и 443). Това не е проблем при имане само на 1 вихост (сайт, който уебсървърът да сервира), но обикновено конфликтира, когато имаш повече, защото на :80 имаш няколко document_root-a. За това предложих да използваш домейни. Ако има колега, който знае как да го излъжеш, нека каже.
Принципно и на мен ми стана странно, че не ти отваря нищо на 192.168.1.1. Трябваше да има все нещо. За наобратно, имам предвид, че обикновено този сетъп се използва така: nginx :80 proxy_pass :8080 apache :8080 Ето и 1вия резултат от гугъл: https://www.digitalocean.com/community/tutorials/how-to-configure-nginx-as-a-reverse-proxy-for-apache ПП: Логовете ги преглеждай както за вихоста, така и основния на апача/nginx-a Титла: Re: apache vhost & nginx Публикувано от: vladi4k0 в Apr 05, 2019, 20:35 Защо на nginx порта е listen 8080;
ето при мене с апаче Код
това е локалната машина Код
странно че имам и ipv6 и сега ми направи впечетление че хрома показва ipv6 връзка а непомна да съм описвал нещо освен в домейна реших да пробвам инсталирах сложих първия конфиг от гуугле и тръгна Код пиша в браузера http://192.168.0.55:8080 и отварям замунда |