OpenLiteSpeed ​​ичинде жана сыртында Nextcloud: тескери проксисин орнотуу

Мен кантип OpenLiteSpeed'ти ички тармагымда жайгашкан Nextcloud проксиге кайтаруу үчүн конфигурациялай алам?

Таң калыштуусу, Habréде OpenLiteSpeed ​​издөө эч нерсе бербейт! Мен бул адилетсиздикти оңдоого шашып жатам, анткени LSWS татыктуу веб-сервер. Мен аны ылдамдыгы жана кооз веб-башкаруу интерфейси үчүн жакшы көрөм:

OpenLiteSpeed ​​ичинде жана сыртында Nextcloud: тескери проксисин орнотуу

OpenLiteSpeed ​​WordPress "акселератору" катары эң белгилүү болгонуна карабастан, бүгүнкү макалада мен анын конкреттүү колдонмосун көрсөтөм. Тактап айтканда, суроо-талаптардын тескери проксисиндөө. Бул үчүн nginx колдонуу кеңири таралган деп айта аласызбы? мен макул болом. Бирок биз чындап эле LSWSди сүйүп калдык!

Прокси жакшы, бирок кайда? Ошол эле сонун кызмат Nextcloud болуп саналат. Жеке "файл бөлүшүү булуттарын" түзүү үчүн Nextcloud колдонобуз. Ар бир кардар үчүн биз Nextcloud менен өзүнчө VM бөлүп беребиз жана аларды "сырттан" ачыкка чыгаргыбыз келбейт. Анын ордуна биз жалпы тескери прокси аркылуу прокси сурамдарын жөнөтөбүз. Бул чечим сизге мүмкүнчүлүк берет:
1) Интернеттен кардардын маалыматтары сакталган серверди алып салуу жана
2) IP даректерди сактоо.

Диаграмма мындай көрүнөт:

OpenLiteSpeed ​​ичинде жана сыртында Nextcloud: тескери проксисин орнотуу

Диаграмма жөнөкөйлөштүрүлгөнү түшүнүктүү, анткени веб-кызмат инфраструктурасын уюштуруу бүгүнкү макаланын темасы эмес.

Ошондой эле бул макалада мен кийинки булутту орнотууну жана негизги конфигурациясын өткөрүп жиберем, айрыкча Habréде бул тема боюнча материалдар бар. Бирок мен сөзсүз түрдө Nextcloud прокси артында иштебей турган орнотууларды көрсөтөм.

Берилген:
Nextcloud 1-хостунда орнотулган жана http аркылуу иштөөгө конфигурацияланган (SSL жок), локалдык тармак интерфейси жана 172.16.22.110 "боз" IP дареги гана бар.
Келгиле, OpenLiteSpeed ​​2-хостунда конфигурациялайлы. Анын эки интерфейси бар, тышкы интерфейси (Интернетти карайт) жана 172.16.22.0/24 тармагындагы IP дареги бар ички интерфейси бар.
DNS аталышы cloud.connect.link 2-хосттун тышкы интерфейсинин IP дарегине алып барат

Тапшырма:
Шилтеме аркылуу Интернеттен алыңыз 'https://cloud.connect.link' (SSL) ички тармактагы Nextcloud боюнча.

  • Ubuntu 18.04.2 боюнча OpenLiteSpeed ​​орнотуу.

Репозиторийди кошолу:

wget -O - http://rpms.litespeedtech.com/debian/enable_lst_debain_repo.sh |sudo bash
Sudo ап-Get өзгөртүү

орнотуу, иштетүү:

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 иштетүү

  • Келгиле, 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 веб интерфейсинен виртуалдык хостту конфигурациялайлы.
URL башкарууну ачуу http://cloud.connect.link:7080
Демейки логин/сырсөз: admin/123456

OpenLiteSpeed ​​ичинде жана сыртында Nextcloud: тескери проксисин орнотуу

Виртуалдык хост кошуңуз (Virtual Hosts > Add).
Кошулганда, конфигурация файлы жок экенин көрсөткөн ката кабары пайда болот. Бул нормалдуу көрүнүш жана "Түзүү үчүн Click" баскычын чыкылдатуу менен чечилет.

OpenLiteSpeed ​​ичинде жана сыртында Nextcloud: тескери проксисин орнотуу

Жалпы өтмөктө Документтин тамырын көрсөтүңүз (бул кереги жок болсо да, конфигурация ансыз өчүрүлбөйт). Домен аты, эгер көрсөтүлбөсө, Виртуалдык Хост Атындан алынат, аны биз доменибиздин аталышы деп атадык.

OpenLiteSpeed ​​ичинде жана сыртында Nextcloud: тескери проксисин орнотуу

Эми бизде веб-сервер эмес, тескери прокси бар экенин эстен чыгарбоо керек. Төмөнкү орнотуулар LSWSге эмнени жана кайда прокси керек экенин айтып берет. Виртуалдык хосттун жөндөөлөрүндө Тышкы колдонмо кошумча барагын ачып, Веб сервер түрүндөгү жаңы тиркемени кошуңуз:

OpenLiteSpeed ​​ичинде жана сыртында Nextcloud: тескери проксисин орнотуу

Аты-жөнүн жана дарегин көрсөтөбүз. Сиз ыктыярдуу аталышты көрсөтсөңүз болот, бирок аны эстеп калуу керек, ал кийинки кадамдарда пайдалуу болот. Nextcloud ички тармакта жашаган дарек:

OpenLiteSpeed ​​ичинде жана сыртында Nextcloud: тескери проксисин орнотуу

Ошол эле виртуалдык хосттун жөндөөлөрүндө Контекст өтмөгүн ачып, прокси түрүндөгү жаңы контекстти түзүңүз:

OpenLiteSpeed ​​ичинде жана сыртында Nextcloud: тескери проксисин орнотуу

Параметрлерди көрсөтүңүз: URI = /, Веб сервер = nextcloud_1 (мурунку кадамдагы аты)

OpenLiteSpeed ​​ичинде жана сыртында Nextcloud: тескери проксисин орнотуу

LSWSди кайра иштетиңиз. Бул веб-интерфейстен бир чыкылдатуу менен жасалат, кереметтер! (мендеги тукум куума чычкан алып жүрүүчү сүйлөйт)

OpenLiteSpeed ​​ичинде жана сыртында Nextcloud: тескери проксисин орнотуу
OpenLiteSpeed ​​ичинде жана сыртында Nextcloud: тескери проксисин орнотуу

  • Биз тастыктаманы орнотуп, https конфигурациялайбыз.
    Сертификат алуу тартиби биз аны өткөрүп жиберебиз жана бизде буга чейин бар экенине жана ал /etc/letsencrypt/live/cloud.connect.link каталогунда ачкыч менен бирге экенине макулбуз.

Келгиле, "угуучуну" түзөлү (угуучулар > кошуу), аны "https" деп атагыла. Келгиле, аны 443 портуна көрсөтүп, ал Кооптуу болоорун белгилейли:

OpenLiteSpeed ​​ичинде жана сыртында Nextcloud: тескери проксисин орнотуу

SSL өтмөгүндө ачкычка жана сертификатка жолду көрсөтүңүз:

OpenLiteSpeed ​​ичинде жана сыртында Nextcloud: тескери проксисин орнотуу

"Угуучу" түзүлдү, эми Виртуалдык Хост Карталары бөлүмүндө биз ага виртуалдык хостубузду кошобуз:

OpenLiteSpeed ​​ичинде жана сыртында Nextcloud: тескери проксисин орнотуу

Эгерде LSWS бир гана кызматка прокси байланыштыра турган болсо, конфигурация бүтүшү мүмкүн. Бирок биз аны домендик аталышка жараша ар кандай “бийликтерге” суроо-талаптарды өткөрүү үчүн колдонууну пландаштырып жатабыз. Жана бардык домендердин өзүнүн сертификаттары болот. Ошондуктан, сиз virtualhost конфигурациясына өтүп, анын ачкычын жана сертификатын SSL өтмөгүндө кайрадан көрсөтүшүңүз керек. Келечекте бул ар бир жаңы виртуалдык хост үчүн жасалышы керек.

OpenLiteSpeed ​​ичинде жана сыртында Nextcloud: тескери проксисин орнотуу

Болгону url кайра жазууну конфигурациялоо гана калды, ошентип http сурамдары https дарегине багытталат.
(Баса, бул качан бүтөт? Серепчилер жана башка программалык камсыздоолор демейки боюнча https'ка которулуп, керек болсо SSL жок дегенге кол менен жөнөтө турган убак келди).
Кайра жазууну иштетүүнү күйгүзүп, кайра жазуу эрежелерин жазыңыз:

RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

OpenLiteSpeed ​​ичинде жана сыртында Nextcloud: тескери проксисин орнотуу

Кызыктай түшүнбөстүктөн улам, кадимки Graceful өчүрүп күйгүзүү аркылуу Кайра жазуу эрежелерин колдоно албайсыз. Ошондуктан, келгиле, LSWSди жакшынакай эмес, орой жана эффективдүү түрдө кайра иштетели:

sudo systemctl кайра иштетүү lsws.service

Сервер 80-портту угушу үчүн биз дагы бир угуучуну түзөбүз. Келгиле, аны http деп атайлы, 80-портту жана анын коопсуз эмес экенин көрсөтүңүз:

OpenLiteSpeed ​​ичинде жана сыртында Nextcloud: тескери проксисин орнотуу

Https угуучуну орнотууга окшошуп, келгиле, виртуалдык хостубузду ага картага түшүрөлү.

Эми LSWS 80-портту угуп, андан 443-ка суроо-талаптарды жөнөтүп, url кайра жазат.
Акыр-аягы, мен демейки боюнча Мүчүлүштүктөрдү оңдоо деп коюлган LSWS журналынын деңгээлин төмөндөтүүнү сунуштайм. Бул режимде журналдар чагылгандын ылдамдыгы менен көбөйөт! Көпчүлүк учурларда, эскертүү деңгээли жетиштүү. Сервер конфигурациясына өтүңүз > Журнал:

OpenLiteSpeed ​​ичинде жана сыртында Nextcloud: тескери проксисин орнотуу

Бул OpenLiteSpeedтин тескери прокси катары конфигурациясын аяктайт. Дагы бир жолу биз LSWSди кайра иштетебиз, шилтемени басыңыз https://cloud.connect.link жана биз көрүп:

OpenLiteSpeed ​​ичинде жана сыртында Nextcloud: тескери проксисин орнотуу

Nextcloud бизге кирүүгө уруксат берүү үчүн, биз ишенимдүүлөрдүн тизмесине cloud.connect.link доменин кошушубуз керек. Келгиле config.php түзөтүп көрөлү. Ubuntu орнотуп жатканда мен Nextcloudди автоматтык түрдө орноттум жана конфигурация бул жерде: /var/snap/nextcloud/current/nextcloud/config.
Trued_domains ачкычына "cloud.connect.link" параметрин кошуңуз:

'trusted_domains' =>
массив (
0 => '172.16.22.110',
1 => 'cloud.connect.link',
),

OpenLiteSpeed ​​ичинде жана сыртында Nextcloud: тескери проксисин орнотуу

Андан кийин, ошол эле конфигурацияда биздин проксидин IP дарегин көрсөтүшүңүз керек. Сураныч, дарек Nextcloud серверине көрүнгөн дарек катары көрсөтүлүшү керек экенин эске алыңыз, б.а. LSWS жергиликтүү интерфейси IP. Бул кадамсыз Nextcloud веб интерфейси иштейт, бирок колдонмолорго уруксат берилбейт.

'trusted_proxies' =>
массив (
0 => '172.16.22.100',
),

Абдан жакшы, андан кийин биз авторизация интерфейсине кире алабыз:

OpenLiteSpeed ​​ичинде жана сыртында Nextcloud: тескери проксисин орнотуу

Маселе чечилди! Эми ар бир кардар "файл булутун" жеке URL аркылуу коопсуз колдоно алат, файлдары бар сервер Интернеттен бөлүнгөн, келечектеги кардарлар бардыгын бирдей алышат жана бир дагы кошумча IP дарек зыян тартпайт.
Кошумча, сиз статикалык мазмунду жеткирүү үчүн тескери проксиди колдоно аласыз, бирок Nextcloud учурда бул ылдамдыктын байкаларлык өсүшүн бербейт. Демек, бул кошумча жана милдеттүү эмес.

Мен бул окуя менен бөлүшүүгө кубанычтамын, кимдир бирөө үчүн пайдалуу болот деп ишенем. Эгер сиз бул көйгөйдү чечүүнүн дагы жарашыктуу жана натыйжалуу ыкмаларын билсеңиз, мен сиздин комментарийиңизге ыраазы болом!

Source: www.habr.com

Комментарий кошуу