Nextcloud OpenLiteSpeedi sees ja väljaspool: pöördpuhverserveri seadistamine

Kuidas seadistada OpenLiteSpeed ​​puhverserveri tagasipööramiseks sisevõrgus Nextcloudile?

Üllataval kombel ei anna OpenLiteSpeedi otsing Habré lehel midagi! Kiirustan seda ebaõiglust parandama, sest LSWS on korralik veebiserver. Mulle meeldib see selle kiiruse ja väljamõeldud veebihaldusliidese pärast:

Nextcloud OpenLiteSpeedi sees ja väljaspool: pöördpuhverserveri seadistamine

Kuigi OpenLiteSpeed ​​on kõige kuulsam WordPressi "kiirendina", näitan tänases artiklis teile selle üsna spetsiifilist kasutusviisi. Nimelt päringute vastupidine puhverserver (reverse proxy). Ütlete, et selleks on tavalisem kasutada nginxi? nõustun. Kuid see on nii valus, et me armusime LSWS-i!

Puhverserver on okei, aga kus? Mitte vähem suurepärases teenuses - Nextcloud. Privaatsete "failijagamispilvede" loomiseks kasutame Nextcloudi. Iga kliendi jaoks eraldame Nextcloudiga eraldi VM-i ja me ei taha neid "väljaspool" paljastada. Selle asemel edastame taotlusi tavalise pöördpuhverserveri kaudu. See lahendus võimaldab:
1) eemaldama Internetist serveri, kuhu kliendiandmeid hoitakse ja
2) salvesta ip-aadressid.

Kava näeb välja selline:

Nextcloud OpenLiteSpeedi sees ja väljaspool: pöördpuhverserveri seadistamine

On selge, et skeem on lihtsustatud, sest veebiteenuste infrastruktuuri korraldamine ei ole tänase artikli teema.

Ka selles artiklis jätan ma välja nextcloudi installimise ja põhikonfiguratsiooni, eriti kuna Habré kohta on sellel teemal materjale. Aga kindlasti näitan seadeid, ilma milleta Nextcloud puhverserveri taga ei tööta.

Arvestades:
Nextcloud on installitud hosti 1 ja konfigureeritud töötama üle http (ilma SSL-ita), sellel on ainult kohalik võrguliides ja "hall" IP-aadress 172.16.22.110.
Seadistame OpenLiteSpeedi hostis 2. Sellel on kaks liidest, väline (vaatab Internetti) ja sisemine IP-aadressiga võrgus 172.16.22.0/24
Host 2 välise liidese IP-aadress on DNS-i nimi cloud.connect.link

Ülesanne:
Hankige Internetist lingi kauduhttps://cloud.connect.link' (SSL) sisevõrgu Nextcloudile.

  • OpenLiteSpeedi installimine Ubuntu 18.04.2-sse.

Lisame hoidla:

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

installida, käivitada:

sudo apt-get install openlitespeed
sudo /usr/local/lsws/bin/lswsctrl algus

  • Minimaalne tulemüüri seadistamine.

    sudo ufw lubab ssh-i
    sudo ufw vaikimisi lubab väljuvat
    sudo ufw vaikimisi keelake sissetulemine
    sudo ufw lubab http
    sudo ufw luba https
    sudo ufw luba alates teie juhtkonna host mis tahes porti 7080
    sudo ufw lubada

  • Seadistage OpenLiteSpeed ​​​​pöördpuhverserverina.
    Loome virtuaalhosti alla kataloogid.

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

Seadistame virtuaalse hosti LSWS-i veebiliidese kaudu.
Avage URL-i haldus http://cloud.connect.link:7080
Vaikimisi sisselogimine/parool: admin/123456

Nextcloud OpenLiteSpeedi sees ja väljaspool: pöördpuhverserveri seadistamine

Lisage virtuaalne host (Virtuaalsed hostid > Lisa).
Lisamisel ilmub veateade – konfiguratsioonifail puudub. See on normaalne, see lahendatakse, klõpsates nuppu Loomiseks klõpsake nuppu.

Nextcloud OpenLiteSpeedi sees ja väljaspool: pöördpuhverserveri seadistamine

Vahekaardil Üldine määrake dokumendi juur (kuigi seda pole vaja, ilma selleta konfiguratsioon ei käivitu). Kui domeeninimi pole täpsustatud, võetakse see virtuaalsest hostinimest, mille nimetasime oma domeeninimeks.

Nextcloud OpenLiteSpeedi sees ja väljaspool: pöördpuhverserveri seadistamine

Nüüd on aeg meeles pidada, et meil pole mitte ainult veebiserver, vaid ka pöördpuhverserver. Järgmised seaded ütlevad LSWS-ile, mida ja kuhu puhverserver kasutada. Avage virtuaalhosti seadetes vahekaart Väline rakendus ja lisage uus veebiserveri tüüpi rakendus:

Nextcloud OpenLiteSpeedi sees ja väljaspool: pöördpuhverserveri seadistamine

Täpsustage nimi ja aadress. Saate määrata suvalise nime, kuid peate selle meeles pidama, see on kasulik järgmistes sammudes. Aadress on see, kus Nextcloud elab sisevõrgus:

Nextcloud OpenLiteSpeedi sees ja väljaspool: pöördpuhverserveri seadistamine

Avage samades virtualhosti seadetes vahekaart Kontekst ja looge uus puhverserveri tüüpi kontekst:

Nextcloud OpenLiteSpeedi sees ja väljaspool: pöördpuhverserveri seadistamine

Määrake parameetrid: URI = /, veebiserver = nextcloud_1 (eelmise sammu nimi)

Nextcloud OpenLiteSpeedi sees ja väljaspool: pöördpuhverserveri seadistamine

Taaskäivitage LSWS. Seda tehakse veebiliidesest ühe klõpsuga, imesid! (minus räägib pärilik hiirekandja)

Nextcloud OpenLiteSpeedi sees ja väljaspool: pöördpuhverserveri seadistamine
Nextcloud OpenLiteSpeedi sees ja väljaspool: pöördpuhverserveri seadistamine

  • Panime sertifikaadi, seadistame https.
    Sertifikaadi saamise kord jätame selle välja, lepime kokku, et meil on see juba olemas, ja asume võtmega kataloogis /etc/letsencrypt/live/cloud.connect.link.

Loome "kuulaja" (Listeners > Add), nimetagem seda "https". Suunake see pordile 443 ja pange tähele, et see on turvaline:

Nextcloud OpenLiteSpeedi sees ja väljaspool: pöördpuhverserveri seadistamine

Määrake vahekaardil SSL võtme ja sertifikaadi tee:

Nextcloud OpenLiteSpeedi sees ja väljaspool: pöördpuhverserveri seadistamine

"Kuulaja" on loodud, nüüd lisame jaotises Virtual Host Mappings sellele oma virtuaalse hosti:

Nextcloud OpenLiteSpeedi sees ja väljaspool: pöördpuhverserveri seadistamine

Kui LSWS kasutab puhverserverit ainult ühele teenusele, saab konfiguratsiooni lõpule viia. Kuid kavatseme seda kasutada päringute saatmiseks erinevatele "instantsidele" sõltuvalt domeeninimest. Ja kõigil domeenidel on oma sertifikaadid. Seetõttu peate minema virtualhosti konfiguratsiooni ja määrama uuesti selle võtme ja sertifikaadi vahekaardil SSL. Edaspidi tuleks seda teha iga uue virtuaalhosti puhul.

Nextcloud OpenLiteSpeedi sees ja väljaspool: pöördpuhverserveri seadistamine

Jääb konfigureerida URL-i ümberkirjutamine nii, et http-päringud adresseeritakse https-ile.
(Muide, millal see lõpeb? Brauseritel ja muul tarkvaral on aeg vaikimisi minna https-ile ja vajadusel käsitsi no-SSL-ile edastada).
Lülitage sisse Luba ümberkirjutamine ja kirjutage ümberkirjutamise reeglid:

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

Nextcloud OpenLiteSpeedi sees ja väljaspool: pöördpuhverserveri seadistamine

Kummalise arusaamatuse tõttu on võimatu ümberkirjutamise reegleid rakendada tavapärase Graceful restartiga. Seetõttu taaskäivitame LSWS-i mitte nõtkelt, vaid ebaviisakalt ja tõhusalt:

sudo systemctl taaskäivitage lsws.service

Selleks, et server kuulaks porti 80, loome teise kuulaja. Nimetagem seda http, määrake 80. port ja et see pole turvaline:

Nextcloud OpenLiteSpeedi sees ja väljaspool: pöördpuhverserveri seadistamine

Analoogiliselt https-kuulaja seadistusega ühendame selle külge oma virtuaalse hosti.

Nüüd kuulab LSWS porti 80 ja saadab sealt päringuid numbrile 443, kirjutades URL-i ümber.
Kokkuvõtteks soovitan langetada LSWS-i logimise taset, mis on vaikimisi seatud väärtusele Debug. Selles režiimis paljunevad palgid välgukiirusel! Enamikul juhtudel piisab hoiatuse tasemest. Avage Serveri konfiguratsioon > Logi:

Nextcloud OpenLiteSpeedi sees ja väljaspool: pöördpuhverserveri seadistamine

See lõpetab OpenLiteSpeedi konfigureerimise pöördpuhverserverina. Taaskäivitage LSWS ja järgige linki https://cloud.connect.link ja näe:

Nextcloud OpenLiteSpeedi sees ja väljaspool: pöördpuhverserveri seadistamine

Selleks, et Nextcloud meid sisse lubaks, peame lisama usaldusväärsete loendisse domeeni cloud.connect.link. Lähme redigeerima config.php. Installisin Nextcloudi automaatselt Ubuntu installimisel ja konfiguratsioon asub siin: /var/snap/nextcloud/current/nextcloud/config.
Lisage parameeter „cloud.connect.link” võtmele trusted_domains:

'trusted_domains' =>
massiiv (
0 => '172.16.22.110',
1 => 'cloud.connect.link',
),

Nextcloud OpenLiteSpeedi sees ja väljaspool: pöördpuhverserveri seadistamine

Lisaks peate samas konfiguratsioonis määrama meie puhverserveri IP-aadressi. Juhin tähelepanu sellele, et aadressiks tuleb määrata see, mis on Nextcloudi serverile nähtav, st. Kohaliku LSWS-liidese IP. Ilma selle sammuta töötab Nextcloudi veebiliides, kuid rakendused pole volitatud.

'usaldusväärsed_puhverserverid' =>
massiiv (
0 => '172.16.22.100',
),

Suurepärane, pärast seda pääseme autoriseerimisliidesesse:

Nextcloud OpenLiteSpeedi sees ja väljaspool: pöördpuhverserveri seadistamine

Probleem lahendatud! Nüüd saab iga klient turvaliselt kasutada “failipilve” oma isiklikul url-il, failidega server on internetist eraldatud, tulevased kliendid saavad kõik samamoodi ja see ei mõjuta ühtegi täiendavat IP-aadressi.
Lisaks saate staatilise sisu edastamiseks kasutada pöördpuhverserverit, kuid Nextcloudi puhul see kiirust märgatavalt ei suurenda. Nii et see on valikuline ja valikuline.

Mul on hea meel seda lugu jagada, loodan, et sellest on kellelegi kasu. Kui teate probleemi lahendamiseks elegantsemaid ja tõhusamaid meetodeid, olen kommentaaride eest tänulik!

Allikas: www.habr.com

Lisa kommentaar