Nextcloud ġewwa u barra OpenLiteSpeed: twaqqif ta' reverse proxy

Kif nistabbilixxi OpenLiteSpeed ​​biex inreġġa' lura proxy għal Nextcloud fuq in-netwerk intern?

B'mod sorprendenti, tfittxija fuq Habré għal OpenLiteSpeed ​​​​ma tagħti xejn! Ngħaġġel biex nikkoreġi din l-inġustizzja, għax LSWS huwa web server deċenti. Inħobbha għall-veloċità u l-interface tal-amministrazzjoni tal-web fancy tagħha:

Nextcloud ġewwa u barra OpenLiteSpeed: twaqqif ta' reverse proxy

Anke jekk OpenLiteSpeed ​​​​huwa l-aktar famuż bħala "aċċeleratur" ta 'WordPress, fl-artiklu tal-lum ser nuri użu pjuttost speċifiku tiegħu. Jiġifieri reverse proxy ta' talbiet (reverse proxy). Tgħid li huwa aktar komuni li tuża nginx għal dan? Jien se naqbel. Imma tweġġa’ tant li nħobbu l-LSWS!

Proxying huwa ok, imma fejn? F'servizz mhux inqas mill-isbaħ - Nextcloud. Aħna nużaw Nextcloud biex noħolqu "file-sharing clouds" privati. Għal kull klijent, aħna nallokaw VM separata ma 'Nextcloud, u ma rridux nesponuhom "barra". Minflok, aħna talbiet prokura permezz ta 'prokura inversa komuni. Din is-soluzzjoni tippermetti:
1) neħħi s-server li fuqu tinħażen id-dejta tal-klijent mill-Internet u
2) ħlief ip-indirizzi.

Id-dijagramma tidher hekk:

Nextcloud ġewwa u barra OpenLiteSpeed: twaqqif ta' reverse proxy

Huwa ċar li l-iskema hija ssimplifikata, għaliex L-organizzazzjoni tal-infrastruttura tas-servizzi tal-web mhijiex is-suġġett tal-artiklu tal-lum.

Ukoll f'dan l-artikolu se nħalli barra l-installazzjoni u l-konfigurazzjoni bażika tal-nextcloud, speċjalment peress li hemm materjali dwar dan is-suġġett fuq Habré. Imma żgur ser nuri s-settings, li mingħajrhom Nextcloud mhux se jaħdem wara prokura.

Mogħti:
Nextcloud huwa installat fuq il-host 1 u kkonfigurat biex jaħdem fuq http (mingħajr SSL), għandu biss interface tan-netwerk lokali u indirizz IP "griż" 172.16.22.110.
Ejja kkonfigurat OpenLiteSpeed ​​​​fuq il-host 2. Għandu żewġ interfaces, esterni (jħares lejn l-Internet) u interni b'indirizz IP fuq in-netwerk 172.16.22.0/24
L-indirizz IP tal-interface esterna tal-Ospitanti 2 huwa l-isem DNS cloud.connect.link

Kompitu:
Ikseb mill-Internet permezz tal-link 'https://cloud.connect.link' (SSL) lil Nextcloud fuq in-netwerk intern.

  • Installazzjoni ta' OpenLiteSpeed ​​​​fuq Ubuntu 18.04.2.

Ejja nżidu repożitorju:

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

installa, mexxi:

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

  • Setup minimu tal-firewall.

    sudo ufw jippermettu ssh
    sudo ufw default jippermettu ħierġa
    sudo ufw default jiċħad id-dħul
    sudo ufw jippermettu http
    sudo ufw jippermettu https
    sudo ufw jippermettu minn l-ospitant tal-ġestjoni tiegħek lejn kwalunkwe port 7080
    sudo ufw jippermettu

  • Stabbilixxi OpenLiteSpeed ​​​​bħala prokura inversa.
    Ejja noħolqu direttorji taħt il-virtualhost.

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

Ejja kkonfiguraw il-host virtwali mill-interface tal-web LSWS.
Iftaħ il-ġestjoni tal-url http://cloud.connect.link:7080
Login/password default: admin/123456

Nextcloud ġewwa u barra OpenLiteSpeed: twaqqif ta' reverse proxy

Żid host virtwali (Virtual Hosts > Żid).
Meta żżid, se jidher messaġġ ta 'żball - il-fajl tal-konfigurazzjoni huwa nieqes. Dan huwa normali, solvut billi tikklikkja Ikklikkja biex toħloq.

Nextcloud ġewwa u barra OpenLiteSpeed: twaqqif ta' reverse proxy

Fit-tab Ġenerali, speċifika l-Għerq tad-Dokument (għalkemm mhux meħtieġ, il-konfigurazzjoni mhux se titlaq mingħajrha). L-Isem tad-Dominju, jekk mhux speċifikat, se jittieħed mill-Isem tal-Ospitanti Virtwali, li semmejna l-isem tad-dominju tagħna.

Nextcloud ġewwa u barra OpenLiteSpeed: twaqqif ta' reverse proxy

Issa wasal iż-żmien li niftakru li m'għandniex biss server tal-web, iżda prokura inversa. Is-settings li ġejjin jgħidulhom lil LSWS x'għandu prokura u fejn. Fis-settings tal-virtualhost, iftaħ it-tab tal-App Esterna u żid applikazzjoni ġdida tat-tip ta' Web server:

Nextcloud ġewwa u barra OpenLiteSpeed: twaqqif ta' reverse proxy

Speċifika l-isem u l-indirizz. Tista 'tispeċifika isem arbitrarju, iżda trid tiftakarha, se tkun utli fil-passi li jmiss. L-indirizz huwa dak fejn Nextcloud jgħix fin-netwerk intern:

Nextcloud ġewwa u barra OpenLiteSpeed: twaqqif ta' reverse proxy

Fl-istess settings tal-host virtwali, iftaħ it-tab Kuntest u oħloq kuntest ġdid tat-tip Proxy:

Nextcloud ġewwa u barra OpenLiteSpeed: twaqqif ta' reverse proxy

Speċifika l-parametri: URI = /, Web server = nextcloud_1 (isem mill-pass preċedenti)

Nextcloud ġewwa u barra OpenLiteSpeed: twaqqif ta' reverse proxy

Ibda mill-ġdid LSWS. Dan isir bi klikk waħda mill-interface tal-web, mirakli! (trasportatur ereditarju tal-ġurdien jitkellem fija)

Nextcloud ġewwa u barra OpenLiteSpeed: twaqqif ta' reverse proxy
Nextcloud ġewwa u barra OpenLiteSpeed: twaqqif ta' reverse proxy

  • Aħna npoġġu ċ-ċertifikat, kkonfigurat https.
    Il-proċedura biex jinkiseb ċertifikat aħna se nħalluha barra, naqblu li diġà għandna u jimteddu biċ-ċavetta fid-direttorju /etc/letsencrypt/live/cloud.connect.link.

Ejja noħolqu "semmiegħ" (Is-semmiegħa > Żid), ejja nsejħulha "https". Ippuntha lejn il-port 443 u innota li se tkun Sikura:

Nextcloud ġewwa u barra OpenLiteSpeed: twaqqif ta' reverse proxy

Fit-tab SSL, speċifika t-triq għaċ-ċavetta u ċ-ċertifikat:

Nextcloud ġewwa u barra OpenLiteSpeed: twaqqif ta' reverse proxy

Is-“semmiegħ” inħoloq, issa fit-taqsima tal-Mappings tal-Ospiti Virtwali se nżidu l-host virtwali tagħna magħha:

Nextcloud ġewwa u barra OpenLiteSpeed: twaqqif ta' reverse proxy

Jekk LSWS se jipprokura biss għal servizz wieħed, il-konfigurazzjoni tista' titlesta. Iżda qed nippjanaw li nużawha biex nibagħtu talbiet lil "istanzi" differenti skont l-isem tad-dominju. U d-dominji kollha se jkollhom iċ-ċertifikati tagħhom stess. Għalhekk, trid tmur fil-konfigurazzjoni tal-virtualhost u għal darb'oħra tispeċifika ċ-ċavetta u ċ-ċertifikat tagħha fit-tab SSL. Fil-futur, dan għandu jsir għal kull host virtwali ġdid.

Nextcloud ġewwa u barra OpenLiteSpeed: twaqqif ta' reverse proxy

Jibqa' jiġi kkonfigurat il-kitba mill-ġdid tal-url sabiex it-talbiet http jiġu indirizzati lil https.
(Mill-mod, meta se jispiċċa dan? Wasal iż-żmien li l-browsers u softwer ieħor imorru għal https awtomatikament, u jgħaddu manwalment għal no-SSL jekk meħtieġ).
Ixgħel Enable Rewrite u ikteb Rewrite Rules:

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

Nextcloud ġewwa u barra OpenLiteSpeed: twaqqif ta' reverse proxy

Minħabba nuqqas ta 'ftehim stramba, huwa impossibbli li jiġu applikati regoli ta' Rewrite bil-bidu mill-ġdid Graceful tas-soltu. Għalhekk, se nibdew mill-ġdid l-LSWS mhux bil-grazzja, iżda b'mod goff u effiċjenti:

sudo systemctl jerġa 'jibda lsws.service

Biex is-server jisma 'port 80, ejja noħolqu Semmiegħ ieħor. Ejja nsejħulha http, speċifika t-80 port u li mhux se jkun Sikur:

Nextcloud ġewwa u barra OpenLiteSpeed: twaqqif ta' reverse proxy

B'analoġija mal-issettjar tas-semmiegħ https, ejja nehmeż miegħu l-host virtwali tagħna.

Issa LSWS se jisma 'fuq il-port 80 u jibgħat talbiet lil 443 minnu, billi jerġa' jikteb l-url.
Bħala konklużjoni, nirrakkomanda li tnaqqas il-livell tal-illoggjar LSWS, li huwa ssettjat għal Debug awtomatikament. F'dan il-mod, iż-zkuk jimmultiplikaw b'veloċità sajjetti! Għal ħafna każijiet, il-livell ta' Twissija huwa biżżejjed. Mur fil-Konfigurazzjoni tas-Server > Log:

Nextcloud ġewwa u barra OpenLiteSpeed: twaqqif ta' reverse proxy

Dan itemm il-konfigurazzjoni ta 'OpenLiteSpeed ​​​​bħala prokura inversa. Għal darb'oħra, ibda mill-ġdid LSWS, segwi l-link https://cloud.connect.link u ara:

Nextcloud ġewwa u barra OpenLiteSpeed: twaqqif ta' reverse proxy

Sabiex Nextcloud tħallina nidħlu, irridu nżidu d-dominju cloud.connect.link mal-lista ta’ fiduċja. Ejja mmorru neditjaw config.php. Installajt Nextcloud awtomatikament meta installa Ubuntu u l-konfigurazzjoni tinsab hawn: /var/snap/nextcloud/current/nextcloud/config.
Żid il-parametru 'cloud.connect.link' maċ-ċavetta trusted_domains:

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

Nextcloud ġewwa u barra OpenLiteSpeed: twaqqif ta' reverse proxy

Barra minn hekk, fl-istess konfigurazzjoni, trid tispeċifika l-indirizz IP tal-prokura tagħna. Niġbed l-attenzjoni tiegħek għall-fatt li l-indirizz għandu jkun speċifikat dak li huwa viżibbli għas-server Nextcloud, i.e. L-IP tal-interface LSWS lokali. Mingħajr dan il-pass, l-interface tal-web Nextcloud taħdem, iżda l-applikazzjonijiet mhumiex awtorizzati.

'trusted_proxies' =>
firxa (
0 => '172.16.22.100',
),

Kbir, wara li nistgħu nidħlu fl-interface ta 'awtorizzazzjoni:

Nextcloud ġewwa u barra OpenLiteSpeed: twaqqif ta' reverse proxy

Problema solvuta! Issa kull klijent jista 'juża b'mod sikur il-"sħaba tal-fajls" fl-url personali tiegħu stess, is-server bil-fajls huwa separat mill-Internet, il-klijenti futuri se jirċievu kollox l-istess u mhux se jiġi affettwat indirizz IP wieħed addizzjonali.
Barra minn hekk, tista 'tuża prokura inversa biex twassal kontenut statiku, iżda fil-każ ta' Nextcloud, dan mhux se jagħti żieda notevoli fil-veloċità. Allura huwa fakultattiv u fakultattiv.

Jien kuntent li naqsam din l-istorja, nittama li tkun utli għal xi ħadd. Jekk taf metodi aktar eleganti u effiċjenti biex issolvi l-problema, inkun grat għall-kummenti!

Sors: www.habr.com

Żid kumment