Nextcloud sees a secure OpenLiteSpeed exterior: configuring reverse proxying

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:

Nextcloud sees a secure OpenLiteSpeed exterior: configuring reverse proxying

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:

Nextcloud sees a secure OpenLiteSpeed exterior: configuring reverse proxying

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 ‘https://cloud.connect.link‘ (SSL) Nextcloudisse sisemisest vĂ”rgust.

  • Installime OpenLiteSpeed'i Ubuntu 18.04.2 sĂŒsteemile.

Lisame repositooriumi:

wget -O — http://rpms.litespeedtech.com/debian/enable_lst_debain_repo.sh |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 http://cloud.connect.link:7080
Vaikimisi sisselogimine/parool: admin/123456

Nextcloud sees a secure OpenLiteSpeed exterior: configuring reverse proxying

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

Nextcloud sees a secure OpenLiteSpeed exterior: configuring reverse proxying

Ü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.

Nextcloud sees a secure OpenLiteSpeed exterior: configuring reverse proxying

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:

Nextcloud sees a secure OpenLiteSpeed exterior: configuring reverse proxying

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:

Nextcloud sees a secure OpenLiteSpeed exterior: configuring reverse proxying

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

Nextcloud sees a secure OpenLiteSpeed exterior: configuring reverse proxying

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

Nextcloud sees a secure OpenLiteSpeed exterior: configuring reverse proxying

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

Nextcloud sees a secure OpenLiteSpeed exterior: configuring reverse proxying
Nextcloud sees a secure OpenLiteSpeed exterior: configuring reverse proxying

  • Installeerime sertifikaadi, seadistame https.
    Sertifikaadi hankimise protseduur 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:

Nextcloud sees a secure OpenLiteSpeed exterior: configuring reverse proxying

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

Nextcloud sees a secure OpenLiteSpeed exterior: configuring reverse proxying

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

Nextcloud sees a secure OpenLiteSpeed exterior: configuring reverse proxying

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.

Nextcloud sees a secure OpenLiteSpeed exterior: configuring reverse proxying

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 ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Nextcloud sees a secure OpenLiteSpeed exterior: configuring reverse proxying

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:

Nextcloud sees a secure OpenLiteSpeed exterior: configuring reverse proxying

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:

Nextcloud sees a secure OpenLiteSpeed exterior: configuring reverse proxying

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

Nextcloud sees a secure OpenLiteSpeed exterior: configuring reverse proxying

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’,
),

Nextcloud sees a secure OpenLiteSpeed exterior: configuring reverse proxying

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:

Nextcloud sees a secure OpenLiteSpeed exterior: configuring reverse proxying

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

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster