Kuidas seadistada OpenLiteSpeed'i tagasiproksi Nextcloudile, mis asub sisevÔrgus?
Imelik, aga Habr'i otsing OpenLiteSpeed'i kohta ei anna midagi! Kiirustan selle ebaÔigluse parandamisega, sest LSWS on vÀÀrikas veebi server. Mulle meeldib selle kiirus ja stiilne haldustee:

Kuigi OpenLiteSpeed on kĂ”ige tuntum kui WordPressi âkiirendiâ, nĂ€itan ma tĂ€na selle ĂŒsna spetsiifilist kasutust. Just nimelt tagasiproksi pĂ€ringute puhul. Ătlete, et selleks on mugavam kasutada nginx'i? Olen nĂ”us. Aga LSWS on meile tĂ”eliselt meeldima hakanud!
Proksimine on OK, aga kuhu? Ei vĂ€hem hĂ€mmastavasse teenusesse â Nextcloudi. Kasutame Nextcloudi privaatsete âfailivahetuspilvedeâ loomiseks. Iga kliendi jaoks eraldame eraldi VM koos Nextcloudiga ja ei soovi neid âvĂ€ljaâ nĂ€idata. Selle asemel proksime pĂ€ringud ĂŒhise tagasiproksi kaudu. See lahendus vĂ”imaldab:
1) viia kliendi andmete server internetist vÀlja ja
2) sÀÀsta IP-aadresse.
Skeem nÀeb vÀlja selline:

On selge, et skeem on lihtsustatud, kuna veebiteenuste infrastruktuuri korraldamine ei ole tÀnase artikli teema.
Selles artiklis jĂ€tan vahele Nextcloudi installatsiooni ja algse seadistamise, kuna selle teema kohta on Habr'is juba materjale. KĂŒll aga nĂ€itan kindlasti seadeid, ilma milleta Nextcloud proxy'de taga ei tööta.
Antud:
Nextcloud on installitud hostile 1 ja seadistatud töötama http kaudu (ilma SSLita), tal on ainult kohalikke vÔrgu liides ja 'hall' IP-aadress 172.16.22.110.
Seadistame OpenLiteSpeed'i hostil 2. Sellel on kaks liidest, vÀline (internetti suunatud) ja sisemine, mille IP-aadress on aadressil 172.16.22.0/24.
Hosti 2 vÀlishoone IP-aadressile viib DNS-nimi cloud.connect.link.
Ălesanne:
PÀÀseda internetist lingi kaudu ââ (SSL) Nextcloudisse sisemisest vĂ”rgust.
- Installime OpenLiteSpeed'i Ubuntu 18.04.2 sĂŒsteemile.
Lisame repositooriumi:
wget -O â |sudo bash
sudo apt-get update
installime ja kÀivitame:
sudo apt-get install openlitespeed
sudo /usr/local/lsws/bin/lswsctrl start
- Seadistame tulemĂŒĂŒri minimaalsetelt.
sudo ufw allow ssh
sudo ufw default allow outgoing
sudo ufw default deny incoming
sudo ufw allow http
sudo ufw allow https
sudo ufw allow from teie juhtimishost to any port 7080
sudo ufw enable - Seadistame OpenLiteSpeed'i pöördproksi tÔkkeks.
Loome virtuaalhosti jaoks kaustad.cd /usr/local/lsws/
sudo mkdir cloud.connect.link
cd cloud.connect.link/
sudo mkdir {conf,html,logs}
sudo chown lsadm:lsadm ./conf/
Seadistame virtuaalhosti LSWS veebiliidese kaudu.
Avame haldus URL
Vaikimisi sisselogimine/parool: admin/123456

Lisame virtuaalserveri (Virtuaalserverid > Lisa).
Lisamisel kuvatakse tĂ”rketeade â konfiguratsioonifaili puudumine. See on normaalne, see lahendatakse klikkides 'Loo'.

Ăldvahekaardil mÀÀrame Document Root (kuigi see pole vajalik, ilma selleta konfiguratsioon ei tööta). Domeeninimi, kui seda ei mÀÀrata, vĂ”etakse Virtual Host Nimest, mille nimetasime oma domeeni nimeks.

NĂŒĂŒd on aeg meeles pidada, et meil ei ole lihtsalt veebiserver, vaid reverse proxy. JĂ€rgmised seaded nĂ€itavad LSWS-le, mida proksida ja kuhu. Virtuaalserveri seadetes avame vahekaardi External App ja lisame uue rakenduse tĂŒĂŒbiga Web server:

MÀÀrame nime ja aadressi. Nime vÔib mÀÀrata meelevaldse, kuid see tuleb meeles pidada, see on kasulik jÀrgmistes sammudes. Aadress on see, kus Nextcloud asub siseringis:

Samades virtuaalserveri seadetes avame vahekaardi Context ja loome uue konteksti tĂŒĂŒbiga Proxy:

MÀÀrame parameetrid: URI = /, Web server = nextcloud_1 (nimi eelmisest sammust)

TaaskĂ€ivita LSWS. Seda saab teha ĂŒhe kliki abil veebiliidesest, imeline! (minu sees rÀÀgib pĂ”lvkondade pikk hiirekasutaja)


- Installeerime sertifikaadi, seadistame https.
Kokkulepitud, et see on meil juba olemas ja asub koos vÔtmega kataloogis /etc/letsencrypt/live/cloud.connect.link.
Loome âkuulajaâ (Listeners > Add), nimetame selle âhttpsâ. MÀÀrame sellele pordi 443 ja mĂ€rkime, et see on turvaline:

SSL vahekaardil mÀÀrame vÔtme ja sertifikaadi tee:

âKuulajaâ on loodud, nĂŒĂŒd lisame Virtual Host Mappings osas sellele meie virtuaalhosti:

Kui LSWS hyvĂ€ks kuvatakse ainult ĂŒhe teenuse juurde, saab seadistuse lĂ”petada. Kuid me plaanime seda kasutada erinevate âinstantsideâ jaoks, olenevalt domeeninimest. KĂ”igil domeenidel on oma sertifikaadid. SeetĂ”ttu peame minema virtuaalhosti konfi ja uuesti mÀÀrama SSL vahekaardil selle vĂ”tme ja sertifikaadi. Tulevikus tuleb seda teha iga uue virtuaalhosti jaoks.

KĂ€ivitus olev URL-i ĂŒmberkirjutamine, et http-pĂ€ringud suunatakse https-ile.
(Muide, millal see lÔpuks lÔppeb? Aeg on, et brauserid ja muu tarkvara kÀiks vaikimisi https peal ja no-SSL-i suunamine toimiks kÀsitsi vajadusel).
LĂŒlitame sisse Enable Rewrite ja kirjutame Rewrite Rules:
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ } [R=301,L]

Rewrite reeglid on tÀiesti tavapÀraselt Graceful restart'i abil rakendada ei saa. SeetÔttu taaskÀivitame LSWS mitte elegantselt, vaid jÔhkralt ja efektiivselt:
sudo systemctl restart lsws.service
Et server kuulaks ka 80. porti, loome veel ĂŒhe Listener'i. Nimeks tuleks http, mÀÀrame 80. porti ja mĂ€rkime, et see on mitte-Secure:

Kuna seadistame https listener'i, seome selle meie virtuaalhostiga.
NĂŒĂŒd kuulab LSWS 80. porti ja suunab sellelt pĂ€ringud 443-le, kirjutades url'i ĂŒmber.
LĂ”petuseks soovitan vĂ€hendada LSWS-i logimistaset, mis on vaikimisi seadistatud Debug-ks. Sellises reĆŸiimis genereerivad logid koheselt! Enamikeks juhtudeks piisab Warning tasemest. Suundume Server Configuration > Log:

Selleks on OpenLiteSpeed'i seadistamine tagasipööravaks lÔpetatud. TaaskÀivitame LSWS-i, suundume lingile ja nÀeme:

Kuna Nextcloud lubab meid, peame lisama domeeni cloud.connect.link usaldatud loendisse. Suundume, et redigeerida config.php. Nextcloud'i ĂŒlevaldseati automaatselt Ubuntu installimisel ja konfigureerimisfail asub siin: /var/snap/nextcloud/current/nextcloud/config.
Usaldatud domeenide vĂ”tmele lisame parameetri âcloud.connect.linkâ:
âtrusted_domainsâ =>
array (
0 => â172.16.22.110â,
1 => âcloud.connect.linkâ,
),

SeejÀrel tuleb samas konfiguratsioonis mÀrkida meie proxy IP-aadress. Tahan rÔhutada, et aadress tuleb mÀrkida see, mis on nÀhtav Nextcloud serverile, st LSWS kohalikul liidese IP. Ilma selle sammuta töötab Nextcloud veebiliides, kuid rakendused ei saa sisse logida.
'trusted_proxies' =>
array (
0 => '172.16.22.100',
),
SuurepĂ€rane, nĂŒĂŒd pÀÀseme autoriseerimise liidesele:

Probleem lahendatud! NĂŒĂŒd saavad kĂ”ik kliendid turvaliselt kasutada "failide pilve" oma isikliku URL-i kaudu, failiserver on internetist eraldatud, tulevased kliendid saavad sama ja ĂŒhtegi tĂ€iendavat IP-aadressi ei kahjustata.
Lisaks vÔib kasutada reverse proxy'd staatilise sisu edastamiseks, kuid Nextcloudi puhul ei too see mÀrkimisvÀÀrset kiiruskasvu. Seega on see valikuline ja soovijoht.
Mul on hea meel seda lugu jagada, loodan, et kellelegi see kasulik on. Kui tead elegantsesemaid ja tĂ”husamaid lahendusi antud ĂŒlesande tĂ€itmiseks â olen tĂ€nulik kommentaaride eest!
Allikas: habr.com
