Нгинк

Нгинк обрнути прокси

Нгинк обрнути прокси

Шта је обрнути прокси?

Проки сервер је онај који у ваше име разговара са Интернетом. На пример, ако је мрежа вашег факултета блокирала хттпс: // ввв.Фејсбук.цом / али домен хттпс: // екамплепроки.цом је и даље доступан, а затим можете да га посетите и он ће проследити све ваше захтеве за Фацебоок сервере на Фацебоок, а одговоре са Фацебоок-а послати назад у прегледач.

Да резимирамо, прокси шаље захтеве у име једног од више клијената на било који сервер на Интернету. Обрнути прокси се понаша на сличан начин.

А обрнути прокси прима захтев од било ког и свих клијената у име једног или више клијената сервери. Дакле, ако имате неколико сервера који хостују вв1.пример.цом и вв2.пример.цом обрнути проки сервер може да прихвати захтеве у име два сервера, да их проследи њиховим одговарајућим крајњим тачкама где се генерише одговор и пошаље натраг обрнутом прокију да се проследи назад клијентима.

Неопходна подешавања

Пре него што почнемо да подешавамо Нгинк конфигурационе датотеке и направимо обрнути проки сервер. Желим да у камену поставим како изгледа моја поставка, па када покушавате да примените свој дизајн, то би било мање збуњујуће.

Користио сам платформу ДигиталОцеан да бих окренуо три ВПС-а. Сви су у истој мрежи, сваки са својим приватним ИП-ом, а само један ВПС има статичку јавну ИП-у (ово ће бити наш обрнути проки сервер.)

ВМ / Име хоста Приватни ИП Јавна ИП адреса Улога
Реверсепроки 10.135.123.187 159.89.108.14 Обрнути прокси, покреће Нгинк
Чвор-1 10.135.123.183 Н / А Покретање прве веб странице
Чвор-2 10.135.123.186 Н / А Покретање друге веб странице

Две различите веб локације које се покрећу имају имена домена вв1.ранвирслог.цом и вв2.ранвирслог.цом и оба њихова А записа указују на јавни ИП обратног проксија, тј.е, 159.89.108.14

Идеја која стоји иза приватне ИП је да три ВМ-а могу међусобно разговарати путем ове приватне ИП-е, али удаљени корисник може приступити само обрнутом проки ВМ-у на свом јавном ИП-у. Ово је важно имати на уму. На пример, не можете упасти ни у једну ВМ помоћу његове приватне ИП адресе.

Даље, и Ноде-1 и Ноде-2 имају Апацхе веб сервер који опслужује две различите веб странице. Ово ће нам помоћи да разликујемо једно од другог.

Прва веб локација каже „ВЕБСИТЕ 1 ВОРКС!!!”

Слично томе, друга веб локација показује ово:

Ваше веб локације могу се разликовати, али ако желите да копирате ово подешавање као почетну тачку, покрените апт инсталл апацхе2 на Ноде-1 и Ноде-2. Затим уредите датотеку / вар / ввв / хтмл / индек.хтмл тако да веб сервер каже шта год желите.

ВМ обрнутог проксија још увек није нетакнут. Сви ВМ-ови имају Убунту 18.04 ЛТС, али можете користити било који други ОС који желите. Можете чак и да опонашате ово помоћу Доцкер контејнера. Стварањем кориснички дефинисане мреже Доцкер мостова и мријешћењем контејнера на њој, можете сваком контејнеру додијелити приватну ИП адресу и прослиједити сав ХТТП / ХТТПС прокси у један контејнер, који би био наш Нгинк реверзни прокси контејнер.

Засада је добро.

Нгинк подразумевана конфигурација

Почнимо са инсталирањем Нгинка на реверсепроки сервер, користим Убунту, тако да је апт мој менаџер пакета:

$ судо апт инсталирај нгинк

Уклањање задане конфигурације ако користите дистрибуцију засновану на Дебиану

Пре него што наставимо даље, мала напомена о Нгинк-овој конфигурацији. Све различите конфигурационе датотеке се чувају у / етц / нгинк, укључујући и нгинк.цонф датотека која је главна датотека за конфигурацију. Ако погледамо садржај ове датотеке (унутар хттп блока), приметићете следећа два реда:


укључују / етц / нгинк / цонф.д / *.цонф;
укључују / етц / нгинк / ситес-енаблед / *;

Други ред укључује све датотеке у директоријуму са омогућеним локацијама у конфигурацији Нгинка. Ово је стандардна пракса у већини дистрибуција заснованих на Дебиану. На пример, подразумевана веб страница „Добродошли у Нгинк“ има одговарајућу датотеку која се зове дефаулт на локацији / етц / нгинк / ситес-аваилабле / дефаулт са симболичком везом на / етц / нгинк / ситес-енаблед /, али ово нам није потребно подразумевана веб страница да бисмо могли безбедно да уклонимо симболичку везу. Оригинал је и даље доступан у директоријуму који је доступан на веб локацијама.

$ рм / етц / нгинк / ситес-енаблед / дефаулт

Али када ћемо створити обрнуту проки конфигурацију, учинићемо то у цонф.д директоријум (са нашим именом датотеке која има .цонф ектенсион) ово је универзално, и ради у свим дистрибуцијама, не само у Дебиану или Убунтуу.

Уклањање задате конфигурације за друге дистрибуције

Ако не користите дистро базиран на Дебиану, наћи ћете подразумевано Страница добродошлице конфигурација на / етц / нгинк / цонф.д / подразумевано.цонф само преместите датотеку на неко сигурно место ако је желите користити у будућности (јер ово није симболична веза)

$ мв / етц / нгинк / цонф.д / подразумевано.цонф ~ / подразумевано.цонф

Понекад се може наћи у / етц / нгинк / дефаулт.д зато што се људи једноставно не могу сложити око једног једноставног стандарда! Дакле, морали бисте мало копати по директоријуму / етц / нгинк да бисте то схватили.

Додавање блокова обрнутог проксија

Као што је претходно речено, два различита имена домена која хостујем иза овог проксија су

  1. ранвирслог.цом (ВЕБСИТЕ 1) са ИП 10.135.123.183
  2. ранвирслог.цом (ВЕБСИТЕ 2) са ИП 10.135.123.186

Па хајде да креирамо по једну датотеку по веб локацији у / етц / нгинк / цонф.д / фолдер. Дакле, добро смо организовани.

$ тоуцх / етц / нгинк / цонф.д / вв1.цонф
$ тоуцх / етц / нгинк / цонф.д / вв2.цонф

Датотекама можете давати имена како желите, под условом да имају .цонф на крају свог имена.

У првом фајлу вв1.цонф додајте следеће редове:

сервер
слушај 80;
слушајте [::]: 80;
 
име_сервера вв1.ранвирслог.цом;
 
локација /
проки_пасс хттп: // 10.135.123.183 /;
проки_буфферинг офф;
проки_сет_хеадер Кс-Реал-ИП $ ремоте_аддр;

Извештаји Листен говоре Нгинку да преслушава на порту 80 и за ИПв4 и за ИПв6 случајеве. Затим проверава да ли је име_сервера вв1.ранвирслог.цом онда блок локације покреће и прослеђује захтев хттп: // 10.135.123.183 / са искљученим међуспремником. Штавише, линија проки_сет_хеадер ... осигурава да се оригинална ИП адреса клијента прослеђује прокси серверу. Ово је корисно у случају да желите да израчунате број јединствених посетилаца итд. У супротном би проки сервер имао само једног посетиоца - Нгинк сервер.

Опција међуспремника и сет_хеадер опције су потпуно опционалне и додане су само да би проксирање било што транспарентније. За вв2.ранвирслог.цом веб локацију, додао / ла сам следећу конфигурацију на / етц / нгинк / цонф.д / вв2.цонф:

сервер
слушај 80;
слушајте [::]: 80;
 
име_сервера вв2.ранвирслог.цом;
 
локација /
проки_пасс хттп: // 10.135.123.186 /;
проки_буфферинг офф;
проки_сет_хеадер Кс-Реал-ИП $ ремоте_аддр;

Сачувајте обе датотеке и тестирајте да ли је укупна конфигурација важећа или не:

$ судо нгинк -т

Ако постоје грешке, излаз горње наредбе ће вам помоћи да их пронађете и исправите. Сада поново покрените сервер:

$ сервице нгинк рестарт

А можете да тестирате да ли је функционисало или не тако што ћете посетити различита имена домена у прегледачу и видети резултат.

Закључак

Случај употребе сваког појединца је различит. Горе наведена конфигурација ће можда требати мало подешавања да би функционисала за ваш сценарио. Можда користите више сервера на истом хосту, али на различитим портовима, у том случају ће линија проки_пасс ... имати вредност хттп: // лоцалхост: портНумбер /.

Ови детаљи веома зависе од вашег случаја употребе. За даље детаље о другим опцијама и подешавањима погледајте званичне Нгинк документе.

Портови комерцијалних игара отвореног кода
Бесплатне рекреације покретачких игара са отвореним кодом и више платформи могу се користити за играње старих, као и неких прилично недавних наслова и...
Најбоље игре командне линије за Линук
Командна линија није само ваш највећи савезник када користите Линук - она ​​такође може бити извор забаве јер је можете користити за играње многих заб...
Најбоље апликације за мапирање гамепада за Линук
Ако волите да играте игре на Линуку са гамепадом уместо са типичним системом за унос тастатуре и миша, за вас постоје неке корисне апликације. Многе и...