ProHoster > Блог > басқарма > OpenLiteSpeed ішіндегі және сыртындағы Nextcloud: кері проксиді орнату
OpenLiteSpeed ішіндегі және сыртындағы Nextcloud: кері проксиді орнату
Ішкі желідегі Nextcloud проксиді кері қайтару үшін OpenLiteSpeed қалай орнатуға болады?
Бір қызығы, Habré-де OpenLiteSpeed іздеу ештеңе бермейді! Мен бұл әділетсіздікті түзетуге асығамын, өйткені LSWS – лайықты веб-сервер. Мен оны жылдамдығы мен әдемі веб-әкімшілік интерфейсі үшін жақсы көремін:
OpenLiteSpeed WordPress «үдеткіші» ретінде ең танымал болса да, бүгінгі мақалада мен оның нақты қолданылуын көрсетемін. Атап айтқанда, сұраулардың кері проксиі (кері прокси). Сіз бұл үшін nginx пайдалану жиірек екенін айтасыз ба? Мен келісемін. Бірақ LSWS-ге ғашық болғанымыз соншалықты ауырады!
Проксиге жіберу жақсы, бірақ қайда? Бұдан кем емес тамаша қызметте - Nextcloud. Жеке «файлдарды ортақ пайдалану бұлттарын» жасау үшін Nextcloud пайдаланамыз. Әрбір клиент үшін біз Nextcloud көмегімен бөлек VM бөлеміз және біз оларды «сыртқа» көрсеткіміз келмейді. Оның орнына біз жалпы кері прокси арқылы прокси сұрауларын жасаймыз. Бұл шешім мүмкіндік береді:
1) Интернеттен клиент деректері сақталған серверді жою және
2) ip-адрестерді сақтау.
Схема келесідей:
Схема жеңілдетілгені анық, өйткені веб-қызметтердің инфрақұрылымын ұйымдастыру бүгінгі мақаланың тақырыбы емес.
Сондай-ақ, осы мақалада мен келесі бұлтты орнатуды және негізгі конфигурациясын өткізбеймін, әсіресе Хабреде осы тақырып бойынша материалдар бар болғандықтан. Бірақ мен міндетті түрде параметрлерді көрсетемін, онсыз Nextcloud проксидің артында жұмыс істемейді.
Берілгендер:
Nextcloud 1-хостта орнатылған және http арқылы жұмыс істеуге конфигурацияланған (SSL жоқ), тек жергілікті желі интерфейсі және 172.16.22.110 "сұр" IP мекенжайы бар.
OpenLiteSpeed 2-хостында конфигурациялайық. Оның екі интерфейсі бар, сыртқы (интернетке қарайды) және ішкі желідегі IP мекенжайы 172.16.22.0/24
Хост 2 сыртқы интерфейсінің IP мекенжайы DNS атауы cloud.connect.link болып табылады
sudo apt-get орнату openlitespeed
sudo /usr/local/lsws/bin/lswsctrl бастау
Ең аз брандмауэр орнату.
sudo ufw рұқсат ssh
sudo ufw әдепкі шығысқа рұқсат береді
sudo ufw әдепкі кірісті қабылдамайды
sudo ufw http-ге рұқсат береді
sudo ufw рұқсатhttps
sudo ufw рұқсат береді басқару хостыңыз кез келген 7080 портына
sudo ufw enable
OpenLiteSpeed-ті кері прокси ретінде орнатыңыз.
Виртуалды хост астында каталогтарды жасайық.
cd /usr/local/lsws/
sudo mkdirc cloud.connect.link
cd cloud.connect.link/
sudo mkdir {conf,html,logs}
sudo chown lsadm:lsadm ./conf/
Виртуалды хост қосыңыз (Виртуалды хосттар > Қосу).
Қосу кезінде қате туралы хабар пайда болады - конфигурация файлы жоқ. Бұл қалыпты жағдай, жасау үшін басыңыз.
Жалпы қойындысында Құжат түбірін көрсетіңіз (ол қажет болмаса да, конфигурация онсыз өшірілмейді). Домен атауы, егер көрсетілмесе, біз домендік атымызды атаған Виртуалды хост атынан алынады.
Енді бізде тек веб-сервер емес, кері прокси бар екенін есте ұстайтын кез келді. Келесі параметрлер LSWS-ке нені және қайда прокси қою керектігін айтады. Виртуалды хост параметрлерінде Сыртқы қолданба қойындысын ашыңыз және веб-сервер түріндегі жаңа қолданбаны қосыңыз:
Аты мен мекенжайын көрсетіңіз. Сіз ерікті атауды көрсете аласыз, бірақ оны есте сақтау керек, ол келесі қадамдарда пайдалы болады. Мекенжай - Nextcloud ішкі желіде тұратын мекенжай:
Сол виртуалды хост параметрлерінде Мәтінмән қойындысын ашыңыз және прокси түрінің жаңа контекстін жасаңыз:
LSWS қайта іске қосыңыз. Бұл веб-интерфейстен бір рет басу арқылы жасалады, кереметтер! (тұқым қуалайтын тышқан тасымалдаушы менде сөйлейді)
Біз сертификатты қоямыз, https конфигурациялаймыз. Сертификат алу тәртібі біз оны өткізіп жібереміз, оның бізде бар екеніне келісеміз және /etc/letsencrypt/live/cloud.connect.link каталогында кілтпен жатамыз.
«Тыңдаушы» жасайық (Тыңдаушылар > Қосу), оны «https» деп атаймыз. Оны 443 портқа бағыттаңыз және оның қауіпсіз болатынын ескеріңіз:
SSL қойындысында кілт пен сертификатқа жолды көрсетіңіз:
«Тыңдаушы» жасалды, енді виртуалды хостты салыстыру бөлімінде біз оған виртуалды хостты қосамыз:
Егер LSWS тек бір қызметке прокси-серверді қосса, конфигурацияны аяқтауға болады. Бірақ біз оны домендік атқа байланысты әртүрлі «даналарға» сұрау жіберу үшін пайдалануды жоспарлап отырмыз. Және барлық домендердің өз сертификаттары болады. Сондықтан виртуалды хост конфигурациясына өтіп, оның кілті мен сертификатын SSL қойындысында қайтадан көрсету керек. Болашақта бұл әрбір жаңа виртуалды хост үшін жасалуы керек.
http сұраулары https мекенжайына жіберілетіндей URL қайта жазуды конфигурациялау қалады. (Айтпақшы, бұл қашан аяқталады? Браузерлердің және басқа бағдарламалық жасақтаманың әдепкі бойынша https-қа өту уақыты келді, ал қажет болса, SSL жоқ параметріне қолмен жібереді).
Қайта жазуды қосу және қайта жазу ережелерін жазу мүмкіндігін қосыңыз:
RewriteCond %{SERVER_PORT} 80
Қайта жазу ережесі ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Біртүрлі түсінбеушілікке байланысты қайта жазу ережелерін әдеттегі Graceful қайта іске қосу арқылы қолдану мүмкін емес. Сондықтан біз LSWS-ті әсем емес, өрескел және тиімді қайта іске қосамыз:
sudo systemctl lsws.service қайта іске қосыңыз
Серверді 80 портты тыңдау үшін басқа тыңдаушыны жасайық. Оны http деп атаймыз, 80-ші портты көрсетіңіз және ол қауіпсіз емес болады:
Https тыңдаушы параметріне ұқсас, оған виртуалды хостты тіркейік.
Енді LSWS 80-ші портты тыңдайды және одан 443-ке сұрауларды жіберіп, URL мекенжайын қайта жазады.
Қорытындылай келе, әдепкі бойынша Debug параметріне орнатылған LSWS журналын тіркеу деңгейін төмендетуді ұсынамын. Бұл режимде журналдар найзағай жылдамдығымен көбейеді! Көп жағдайда Ескерту деңгейі жеткілікті. Сервер конфигурациясы > Журналға өтіңіз:
Бұл кері прокси ретінде OpenLiteSpeed конфигурациясын аяқтайды. Тағы бір рет LSWS қайта іске қосыңыз, сілтемені орындаңыз https://cloud.connect.link және қараңыз:
Nextcloud бізге кіруге рұқсат беру үшін сенімді тізімге cloud.connect.link доменін қосу керек. config.php өңдеуге барайық. Мен Ubuntu орнату кезінде Nextcloud-ты автоматты түрде орнаттым және конфигурация мына жерде орналасқан: /var/snap/nextcloud/current/nextcloud/config.
"cloud.connect.link" параметрін сенімді_домендер кілтіне қосыңыз:
Әрі қарай, сол конфигурацияда сіз біздің проксидің IP мекенжайын көрсетуіңіз керек. Мен сіздің назарыңызды Nextcloud серверіне көрінетін мекенжайды көрсету керек екеніне аударамын, яғни. Жергілікті LSWS интерфейсінің IP. Бұл қадамсыз Nextcloud веб-интерфейсі жұмыс істейді, бірақ қолданбаларға рұқсат етілмейді.
Керемет, содан кейін авторизация интерфейсіне кіре аламыз:
Мәселе шешілді! Енді әрбір клиент өзінің жеке URL мекенжайында «файл бұлтын» қауіпсіз пайдалана алады, файлдары бар сервер Интернеттен бөлінген, болашақ клиенттер барлығын бірдей алады және бірде-бір қосымша IP мекенжайы әсер етпейді.
Сонымен қатар, сіз статикалық мазмұнды жеткізу үшін кері проксиді пайдалана аласыз, бірақ Nextcloud жағдайында бұл жылдамдықты айтарлықтай арттырмайды. Сондықтан бұл қосымша және қосымша.
Мен бұл оқиғамен бөліскеніме қуаныштымын, бұл біреуге пайдалы болады деп үміттенемін. Егер сіз мәселені шешудің неғұрлым талғампаз және тиімді әдістерін білсеңіз, мен түсініктемелерге ризамын!