Nextcloud OpenLiteSpeed ā€‹ā€‹iekÅ”pusē un ārpusē: reversās starpniekservera iestatÄ«Å”ana

Kā iestatÄ«t OpenLiteSpeed, lai iekŔējā tÄ«klā mainÄ«tu starpniekserveri uz Nextcloud?

PārsteidzoÅ”i, OpenLiteSpeed ā€‹ā€‹meklÄ“Å”ana vietnē HabrĆ© neko nedod! Steidzu Å”o netaisnÄ«bu labot, jo LSWS ir kārtÄ«gs tÄ«mekļa serveris. Man tas patÄ«k tā ātruma un brÄ«niŔķīgās tÄ«mekļa administrÄ“Å”anas saskarnes dēļ:

Nextcloud OpenLiteSpeed ā€‹ā€‹iekÅ”pusē un ārpusē: reversās starpniekservera iestatÄ«Å”ana

Lai gan OpenLiteSpeed ā€‹ā€‹ir visslavenākais kā WordPress "paātrinātājs", Å”odienas rakstā es parādÄ«Å”u diezgan specifisku tā lietojumu. Proti, pieprasÄ«jumu apgrieztā starpniekserveri (reverse proxy). JÅ«s sakāt, ka Å”im nolÅ«kam biežāk izmanto nginx? piekritÄ«Å”u. Bet tas tik ļoti sāp, ka mēs iemÄ«lējāmies LSWS!

Starpniekserveri ir labi, bet kur? Ne mazāk brÄ«niŔķīgā servisā - Nextcloud. Mēs izmantojam Nextcloud, lai izveidotu privātus "failu koplietoÅ”anas mākoņus". Katram klientam mēs pieŔķiram atseviŔķu virtuālo maŔīnu ar Nextcloud, un mēs nevēlamies tos izpaust ā€œÄrpusā€. Tā vietā mēs starpniekserveram pieprasÄ«jumus, izmantojot parasto apgriezto starpniekserveri. Å is risinājums ļauj:
1) noņemt serveri, kurā tiek glabāti klienta dati, no interneta un
2) saglabājiet ip adreses.

Diagramma izskatās Ŕādi:

Nextcloud OpenLiteSpeed ā€‹ā€‹iekÅ”pusē un ārpusē: reversās starpniekservera iestatÄ«Å”ana

Ir skaidrs, ka shēma ir vienkārÅ”ota, jo tÄ«mekļa pakalpojumu infrastruktÅ«ras organizÄ“Å”ana nav Å”odienas raksta tēma.

ArÄ« Å”ajā rakstā es izlaidÄ«Å”u nextcloud instalÄ“Å”anu un pamata konfigurāciju, jo Ä«paÅ”i tāpēc, ka HabrĆ© ir materiāli par Å”o tēmu. Bet es noteikti parādÄ«Å”u iestatÄ«jumus, bez kuriem Nextcloud nedarbosies aiz starpniekservera.

Ņemot vērā:
Nextcloud ir instalēts 1. resursdatorā un konfigurēts darbam, izmantojot http (bez SSL), tam ir tikai lokālā tīkla saskarne un "pelēkā" IP adrese 172.16.22.110.
Konfigurēsim OpenLiteSpeed 2. resursdatorā. Tam ir divas saskarnes: ārējā (izskatās uz internetu) un iekŔēja ar IP adresi tÄ«klā 172.16.22.0/24.
2. resursdatora ārējā interfeisa IP adrese ir DNS nosaukums cloud.connect.link

Uzdevums:
Saņemiet no interneta, izmantojot saiti 'https://cloud.connect.link' (SSL) uz Nextcloud iekŔējā tÄ«klā.

  • OpenLiteSpeed ā€‹ā€‹instalÄ“Å”ana Ubuntu 18.04.2.

Pievienosim repozitoriju:

wget -O http://rpms.litespeedtech.com/debian/enable_lst_debain_repo.sh |sudo bash
sudo apt-get update

instalēt, palaist:

sudo apt-get instalēt openlitespeed
sudo /usr/local/lsws/bin/lswsctrl start

  • Minimāla ugunsmÅ«ra iestatÄ«Å”ana.

    sudo ufw atļaut ssh
    sudo ufw noklusējuma atļaut izejoÅ”o
    sudo ufw noklusējuma liegt ienākoÅ”os
    sudo ufw atļaut http
    sudo ufw atļauj https
    sudo ufw atļaut no jūsu vadības saimnieks uz jebkuru portu 7080
    sudo ufw iespējot

  • Iestatiet OpenLiteSpeed ā€‹ā€‹kā reverso starpniekserveri.
    Izveidosim direktorijus zem virtualhost.

    cd /usr/local/lsws/
    sudo mkdirc cloud.connect.link
    cd cloud.connect.link/
    sudo mkdir {conf,html,logs}
    sudo chown lsadm:lsadm ./conf/

Konfigurēsim virtuālo resursdatoru no LSWS tīmekļa saskarnes.
Atvērt URL pārvaldību http://cloud.connect.link:7080
Noklusējuma pieteikÅ”anās/parole: admin/123456

Nextcloud OpenLiteSpeed ā€‹ā€‹iekÅ”pusē un ārpusē: reversās starpniekservera iestatÄ«Å”ana

Pievienojiet virtuālo saimniekdatoru (Virtuālie saimniekdatori > Pievienot).
Pievienojot, parādÄ«sies kļūdas ziņojums - trÅ«kst konfigurācijas faila. Tas ir normāli, to var atrisināt, noklikŔķinot uz NoklikŔķiniet, lai izveidotu.

Nextcloud OpenLiteSpeed ā€‹ā€‹iekÅ”pusē un ārpusē: reversās starpniekservera iestatÄ«Å”ana

Cilnē VispārÄ«gi norādiet dokumenta sakni (lai gan tas nav nepiecieÅ”ams, konfigurācija bez tās netiks pacelta). Domēna vārds, ja tas nav norādÄ«ts, tiks ņemts no virtuālā resursdatora nosaukuma, ko mēs nosaucām par savu domēna nosaukumu.

Nextcloud OpenLiteSpeed ā€‹ā€‹iekÅ”pusē un ārpusē: reversās starpniekservera iestatÄ«Å”ana

Tagad ir pienācis laiks atcerēties, ka mums ir ne tikai tīmekļa serveris, bet arī reversais starpniekserveris. Tālāk norādītie iestatījumi norādīs LSWS, ko un kur izmantot starpniekserveri. Virtualhost iestatījumos atveriet cilni Ārējā lietotne un pievienojiet jaunu tīmekļa servera tipa lietojumprogrammu:

Nextcloud OpenLiteSpeed ā€‹ā€‹iekÅ”pusē un ārpusē: reversās starpniekservera iestatÄ«Å”ana

Norādiet vārdu un adresi. Varat norādÄ«t patvaļīgu nosaukumu, taču tas ir jāatceras, tas noderēs nākamajās darbÄ«bās. Adrese ir tā, kur Nextcloud dzÄ«vo iekŔējā tÄ«klā:

Nextcloud OpenLiteSpeed ā€‹ā€‹iekÅ”pusē un ārpusē: reversās starpniekservera iestatÄ«Å”ana

Tajos paŔos virtuālās saimniekdatora iestatījumos atveriet cilni Konteksts un izveidojiet jaunu starpniekservera veida kontekstu:

Nextcloud OpenLiteSpeed ā€‹ā€‹iekÅ”pusē un ārpusē: reversās starpniekservera iestatÄ«Å”ana

Norādiet parametrus: URI = /, tÄ«mekļa serveris = nextcloud_1 (iepriekŔējās darbÄ«bas nosaukums)

Nextcloud OpenLiteSpeed ā€‹ā€‹iekÅ”pusē un ārpusē: reversās starpniekservera iestatÄ«Å”ana

Restartējiet LSWS. Tas tiek darÄ«ts ar vienu klikŔķi no tÄ«mekļa saskarnes, brÄ«numi! (manÄ« runā iedzimts peļu nēsātājs)

Nextcloud OpenLiteSpeed ā€‹ā€‹iekÅ”pusē un ārpusē: reversās starpniekservera iestatÄ«Å”ana
Nextcloud OpenLiteSpeed ā€‹ā€‹iekÅ”pusē un ārpusē: reversās starpniekservera iestatÄ«Å”ana

  • Ieliekam sertifikātu, konfigurējam https.
    Sertifikāta iegÅ«Å”anas kārtÄ«ba mēs to izlaidÄ«sim, piekrÄ«tam, ka mums tas jau ir, un gulēsim ar atslēgu /etc/letsencrypt/live/cloud.connect.link direktorijā.

Izveidosim "klausÄ«tāju" (Listeners > Add), sauksim to par "https". Novietojiet to uz portu 443 un ņemiet vērā, ka tas bÅ«s droÅ”s:

Nextcloud OpenLiteSpeed ā€‹ā€‹iekÅ”pusē un ārpusē: reversās starpniekservera iestatÄ«Å”ana

Cilnē SSL norādiet ceļu uz atslēgu un sertifikātu:

Nextcloud OpenLiteSpeed ā€‹ā€‹iekÅ”pusē un ārpusē: reversās starpniekservera iestatÄ«Å”ana

ā€œKlausÄ«tājsā€ ir izveidots, tagad sadaļā Virtual Host Mappings mēs tam pievienosim savu virtuālo resursdatoru:

Nextcloud OpenLiteSpeed ā€‹ā€‹iekÅ”pusē un ārpusē: reversās starpniekservera iestatÄ«Å”ana

Ja LSWS starpniekserveri izmantos tikai vienam pakalpojumam, konfigurāciju var pabeigt. Bet mēs plānojam to izmantot, lai nosūtītu pieprasījumus dažādiem "gadījumiem" atkarībā no domēna nosaukuma. Un visiem domēniem būs savi sertifikāti. Tāpēc jums ir jāiet uz virtualhost konfigurāciju un vēlreiz jānorāda tā atslēga un sertifikāts cilnē SSL. Nākotnē tas būtu jādara katram jaunam virtuālajam resursdatoram.

Nextcloud OpenLiteSpeed ā€‹ā€‹iekÅ”pusē un ārpusē: reversās starpniekservera iestatÄ«Å”ana

Atliek konfigurēt URL pārrakstÄ«Å”anu, lai http pieprasÄ«jumi tiktu adresēti https.
(Starp citu, kad tas beigsies? Ir pienācis laiks pārlÅ«kprogrammām un citai programmatÅ«rai pēc noklusējuma pāriet uz https un, ja nepiecieÅ”ams, manuāli pārsÅ«tÄ«t uz no-SSL).
Ieslēdziet Iespējot pārrakstÄ«Å”anu un rakstiet pārrakstÄ«Å”anas noteikumus:

RewriteCond %{SERVER_PORT} 80
PārrakstīŔanas kārtula ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Nextcloud OpenLiteSpeed ā€‹ā€‹iekÅ”pusē un ārpusē: reversās starpniekservera iestatÄ«Å”ana

Dīvaina pārpratuma dēļ nav iespējams piemērot Rewrite noteikumus ar parasto Graceful restart. Tāpēc mēs restartēsim LSWS nevis graciozi, bet rupji un efektīvi:

sudo systemctl restartējiet lsws.service

Lai serveris klausÄ«tos 80. portu, izveidosim citu klausÄ«tāju. Sauksim to par http, norādiet 80. portu un to, ka tas nebÅ«s droÅ”s:

Nextcloud OpenLiteSpeed ā€‹ā€‹iekÅ”pusē un ārpusē: reversās starpniekservera iestatÄ«Å”ana

Pēc analoģijas ar https klausītāja iestatījumu, pievienosim tam savu virtuālo saimniekdatoru.

Tagad LSWS klausīsies portā 80 un no tā nosūtīs pieprasījumus uz 443, pārrakstot URL.
Noslēgumā es iesaku pazemināt LSWS reÄ£istrÄ“Å”anas lÄ«meni, kas pēc noklusējuma ir iestatÄ«ts uz Debug. Å ajā režīmā baļķi vairojas zibens ātrumā! Vairumā gadÄ«jumu pietiek ar brÄ«dinājuma lÄ«meni. Dodieties uz Servera konfigurācija > Žurnāls:

Nextcloud OpenLiteSpeed ā€‹ā€‹iekÅ”pusē un ārpusē: reversās starpniekservera iestatÄ«Å”ana

Tas pabeidz OpenLiteSpeed ā€‹ā€‹kā apgrieztā starpniekservera konfigurāciju. Vēlreiz restartējiet LSWS, sekojiet saitei https://cloud.connect.link un redzi:

Nextcloud OpenLiteSpeed ā€‹ā€‹iekÅ”pusē un ārpusē: reversās starpniekservera iestatÄ«Å”ana

Lai Nextcloud varētu mÅ«s ielaist, mums uzticamo personu sarakstam jāpievieno domēns cloud.connect.link. Ejam rediģēt config.php. Es instalēju Nextcloud automātiski, instalējot Ubuntu, un konfigurācija atrodas Å”eit: /var/snap/nextcloud/current/nextcloud/config.
Pievienojiet parametru 'cloud.connect.link' atslēgai trusted_domains:

'trusted_domains' =>
masīvs (
0 => '172.16.22.110',
1 => 'cloud.connect.link',
),

Nextcloud OpenLiteSpeed ā€‹ā€‹iekÅ”pusē un ārpusē: reversās starpniekservera iestatÄ«Å”ana

Turklāt tajā paŔā konfigurācijā ir jānorāda mÅ«su starpniekservera IP adrese. VērÅ”u uzmanÄ«bu, ka adrese ir jānorāda tā, kas ir redzama Nextcloud serverim, t.i. Vietējās LSWS saskarnes IP. Bez Ŕīs darbÄ«bas Nextcloud tÄ«mekļa saskarne darbojas, taču lietojumprogrammas nav autorizētas.

'trusted_proxyes' =>
masīvs (
0 => '172.16.22.100',
),

Lieliski, pēc tam mēs varam iekļūt autorizācijas saskarnē:

Nextcloud OpenLiteSpeed ā€‹ā€‹iekÅ”pusē un ārpusē: reversās starpniekservera iestatÄ«Å”ana

Problēma atrisināta! Tagad katrs klients var droÅ”i lietot ā€œfailu mākoniā€ savā personÄ«gajā url, serveris ar failiem ir atdalÄ«ts no interneta, nākamie klienti saņems visu tāpat un netiks ietekmēta neviena papildus IP adrese.
Turklāt, lai nodroŔinātu statisku saturu, varat izmantot apgriezto starpniekserveri, taču Nextcloud gadījumā tas nepalielinās ātrumu. Tātad tas ir neobligāts un neobligāts.

Priecājos padalÄ«ties ar Å”o stāstu, ceru, ka kādam noderēs. Ja zināt elegantākas un efektÄ«vākas metodes problēmas risināŔanai, bÅ«Å”u pateicÄ«gs par komentāriem!

Avots: www.habr.com

Pievieno komentāru