Nextcloud andedan ak deyò OpenLiteSpeed: mete kanpe proxy inverse

Kouman pou mwen mete OpenLiteSpeed ​​pou ranvèse proxy Nextcloud sou rezo entèn la?

Etonan, yon rechèch sou Habré pou OpenLiteSpeed ​​​​pa bay anyen! Mwen prese korije enjistis sa a, paske LSWS se yon sèvè entènèt desan. Mwen renmen li pou vitès li yo ak koòdone administrasyon entènèt anpenpan:

Nextcloud andedan ak deyò OpenLiteSpeed: mete kanpe proxy inverse

Menm si OpenLiteSpeed ​​​​pi popilè kòm yon "akseleratè" WordPress, nan atik jodi a mwen pral montre yon itilizasyon olye espesifik nan li. Savwa ranvèse proxy demann (reverse proxy). Ou di ke li pi komen pou itilize nginx pou sa? Mwen pral dakò. Men, sa fè mal anpil nou te tonbe damou ak LSWS!

Pwoxy se ok, men ki kote? Nan sèvis pa mwens bèl bagay - Nextcloud. Nou itilize Nextcloud pou kreye "nwaj pataje fichye" prive. Pou chak kliyan, nou asiyen yon VM separe ak Nextcloud, epi nou pa vle ekspoze yo "deyò". Olye de sa, nou mande proxy atravè yon prokurasyon inverse komen. Solisyon sa a pèmèt:
1) retire sèvè a sou ki done yo kliyan ki estoke soti nan entènèt la ak
2) sove IP-adrès yo.

Konplo a sanble tankou sa a:

Nextcloud andedan ak deyò OpenLiteSpeed: mete kanpe proxy inverse

Li klè ke se konplo a senplifye, paske òganizasyon nan enfrastrikti sèvis entènèt se pa sijè a nan atik jodi a.

Epitou nan atik sa a mwen pral omisyon enstalasyon ak konfigirasyon debaz nextcloud la, espesyalman depi Habré gen materyèl sou sijè sa a. Men, mwen pral definitivman montre anviwònman yo, san yo pa Nextcloud pa pral travay dèyè yon prokurasyon.

Etandone:
Nextcloud enstale sou lame 1 ak configuré pou travay sou http (san SSL), gen sèlman yon koòdone rezo lokal ak yon adrès IP "gri" 172.16.22.110.
Ann konfigirasyon OpenLiteSpeed ​​​​sou lame 2. Li gen de koòdone, ekstèn (gade sou entènèt la) ak entèn ak yon adrès IP sou rezo a 172.16.22.0/24.
Adrès IP ekstèn koòdone Host 2 a se non DNS cloud.connect.link

Yon travay:
Jwenn soti nan entènèt la atravè lyen an 'https://cloud.connect.link' (SSL) nan Nextcloud sou rezo entèn la.

  • Enstale OpenLiteSpeed ​​​​sou Ubuntu 18.04.2.

Ann ajoute yon depo:

wget -O http://rpms.litespeedtech.com/debian/enable_lst_debain_repo.sh |sudo bash
sudo nimewo apatman-GET aktyalizasyon

enstale, kouri:

sudo apt-get install openlitespeed
sudo /usr/local/lsws/bin/lswsctrl kòmanse

  • Minim konfigirasyon firewall.

    sudo ufw pèmèt ssh
    sudo ufw default pèmèt sortan
    sudo ufw default refize fèk ap rantre
    sudo ufw pèmèt http
    sudo ufw pèmèthttps
    sudo ufw pèmèt soti lame jesyon ou a nan nenpòt pò 7080
    sudo ufw pèmèt

  • Mete OpenLiteSpeed ​​kòm yon prokurasyon ranvèse.
    Ann kreye repèrtwar anba virtualhost la.

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

Ann configured lame vityèl la nan koòdone entènèt LSWS la.
Louvri jesyon url http://cloud.connect.link:7080
Defo login/modpas: admin/123456

Nextcloud andedan ak deyò OpenLiteSpeed: mete kanpe proxy inverse

Ajoute yon lame vityèl (Virtual Hosts > Add).
Lè w ajoute, yon mesaj erè ap parèt - dosye konfigirasyon an manke. Sa a se nòmal, rezoud lè w klike sou Klike pou kreye.

Nextcloud andedan ak deyò OpenLiteSpeed: mete kanpe proxy inverse

Nan onglet Jeneral la, presize Rasin Dokiman an (byenke li pa nesesè, konfigirasyon an pa pral dekole san li). Non Domèn an, si yo pa espesifye, yo pral pran nan Non Virtual Host la, ke nou te rele non domèn nou an.

Nextcloud andedan ak deyò OpenLiteSpeed: mete kanpe proxy inverse

Koulye a, li lè yo sonje ke nou pa sèlman yon sèvè entènèt, men yon prokurasyon ranvèse. Anviwònman sa yo pral di LSWS kisa pou proxy ak ki kote. Nan paramèt virtualhost yo, louvri tab la Aplikasyon ekstèn epi ajoute yon nouvo aplikasyon ki kalite sèvè entènèt:

Nextcloud andedan ak deyò OpenLiteSpeed: mete kanpe proxy inverse

Espesifye non an ak adrès. Ou ka presize yon non abitrè, men ou bezwen sonje li, li pral itil nan pwochen etap yo. Adrès la se youn kote Nextcloud ap viv nan rezo entèn la:

Nextcloud andedan ak deyò OpenLiteSpeed: mete kanpe proxy inverse

Nan menm anviwònman lame vityèl yo, ouvri tab Kontèks la epi kreye yon nouvo kontèks kalite Proxy:

Nextcloud andedan ak deyò OpenLiteSpeed: mete kanpe proxy inverse

Espesifye paramèt yo: URI = /, sèvè entènèt = nextcloud_1 (non soti nan etap anvan an)

Nextcloud andedan ak deyò OpenLiteSpeed: mete kanpe proxy inverse

Rekòmanse LSWS. Sa a se fè ak yon sèl klike sou koòdone entènèt la, mirak! (yon moun ki gen sourit eritye pale nan mwen)

Nextcloud andedan ak deyò OpenLiteSpeed: mete kanpe proxy inverse
Nextcloud andedan ak deyò OpenLiteSpeed: mete kanpe proxy inverse

  • Nou mete sètifika a, konfigirasyon https.
    Pwosedi pou jwenn yon sètifika nou pral omite li, dakò ke nou deja genyen li epi kouche ak kle a nan /etc/letsencrypt/live/cloud.connect.link anyè.

Ann kreye yon "koute" (Listeners > Add), ann rele li "https". Montre li nan pò 443 epi sonje ke li pral an sekirite:

Nextcloud andedan ak deyò OpenLiteSpeed: mete kanpe proxy inverse

Nan tab la SSL, presize chemen ki mennen nan kle a ak sètifika:

Nextcloud andedan ak deyò OpenLiteSpeed: mete kanpe proxy inverse

Yo te kreye "koute" a, kounye a nan seksyon Virtual Host Mappings nou pral ajoute lame vityèl nou an nan li:

Nextcloud andedan ak deyò OpenLiteSpeed: mete kanpe proxy inverse

Si LSWS pral sèlman proxy nan yon sèl sèvis, konfigirasyon an ka ranpli. Men, nou planifye pou itilize li pou voye demann nan diferan "enstans" depann sou non an domèn. Ak tout domèn pral gen sètifika pwòp yo. Se poutèt sa, ou bezwen ale nan konfigirasyon lame vityèl la epi ankò presize kle li yo ak sètifika nan tab la SSL. Nan lavni an, sa ta dwe fè pou chak nouvo lame vityèl.

Nextcloud andedan ak deyò OpenLiteSpeed: mete kanpe proxy inverse

Li rete konfigirasyon reekri url pou demann http yo adrese a https.
(Bon wout la, ki lè sa a pral fini? Li lè pou navigatè ak lòt lojisyèl ale nan https pa default, epi pou pi devan pou pa gen okenn SSL manyèlman si sa nesesè).
Aktive Pèmèt Reekri epi ekri Règ Reekri:

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

Nextcloud andedan ak deyò OpenLiteSpeed: mete kanpe proxy inverse

Akòz yon enkonpreyansyon etranj, li enposib pou aplike règ Reekri ak rekòmanse Graceful abityèl la. Se poutèt sa, nou pral rekòmanse LSWS pa grasyeuz, men malonnèt ak efikasite:

sudo systemctl rekòmanse lsws.service

Pou fè sèvè a koute pò 80, ann kreye yon lòt moun ki koute. Ann rele li http, presize 80yèm pò a e ke li pral ki pa an sekirite:

Nextcloud andedan ak deyò OpenLiteSpeed: mete kanpe proxy inverse

Pa analoji ak anviwònman koute https, ann tache lame vityèl nou an sou li.

Koulye a, LSWS pral koute sou pò 80 epi voye demann nan 443 soti nan li, reekri url la.
An konklizyon, mwen rekòmande bese nivo antre LSWS, ki mete sou Debug pa default. Nan mòd sa a, mòso bwa yo miltipliye nan vitès zèklè! Pou pifò ka yo, nivo Avètisman an ase. Ale nan Konfigirasyon sèvè> Log:

Nextcloud andedan ak deyò OpenLiteSpeed: mete kanpe proxy inverse

Sa a konplete konfigirasyon OpenLiteSpeed ​​kòm yon prokurasyon ranvèse. Yon fwa ankò, rekòmanse LSWS, swiv lyen an https://cloud.connect.link epi wè:

Nextcloud andedan ak deyò OpenLiteSpeed: mete kanpe proxy inverse

Nan lòd pou Nextcloud kite nou antre, nou bezwen ajoute domèn nan cloud.connect.link nan lis ou fè konfyans. Ann al edite config.php. Mwen enstale Nextcloud otomatikman lè mwen enstale Ubuntu ak konfigirasyon an sitiye isit la: /var/snap/nextcloud/current/nextcloud/config.
Ajoute paramèt 'cloud.connect.link' nan kle trusted_domains:

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

Nextcloud andedan ak deyò OpenLiteSpeed: mete kanpe proxy inverse

Anplis de sa, nan menm konfigirasyon an, ou dwe presize adrès IP proxy nou an. Mwen atire atansyon w sou lefèt ke adrès la dwe espesifye youn ki vizib nan sèvè Nextcloud la, i.e. IP koòdone lokal LSWS la. San etap sa a, koòdone entènèt Nextcloud la ap travay, men aplikasyon yo pa otorize.

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

Bon, apre sa nou ka antre nan koòdone otorizasyon an:

Nextcloud andedan ak deyò OpenLiteSpeed: mete kanpe proxy inverse

Pwoblèm rezoud! Koulye a, chak kliyan ka san danje sèvi ak "nwaj fichye a" nan pwòp adrès pèsonèl li, se sèvè a ki gen dosye separe de Entènèt la, kliyan nan lavni pral resevwa tout bagay menm jan epi yo pa pral yon sèl adrès IP adisyonèl ap afekte.
Anplis de sa, ou ka itilize yon prokurasyon ranvèse pou delivre kontni estatik, men nan ka Nextcloud, sa a pa pral bay yon ogmantasyon aparan nan vitès. Se konsa, li opsyonèl ak opsyonèl.

Mwen byen kontan pataje istwa sa a, mwen espere ke li pral itil yon moun. Si ou konnen metòd ki pi elegant ak efikas pou rezoud pwoblèm nan, mwen pral rekonesan pou kòmantè yo!

Sous: www.habr.com

Add nouvo kòmantè