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:
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:
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.
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
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.
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.
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:
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:
Nan menm anviwònman lame vityèl yo, ouvri tab Kontèks la epi kreye yon nouvo kontèks kalite Proxy:
Espesifye paramèt yo: URI = /, sèvè entènèt = nextcloud_1 (non soti nan etap anvan an)
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)
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:
Nan tab la SSL, presize chemen ki mennen nan kle a ak sètifika:
Yo te kreye "koute" a, kounye a nan seksyon Virtual Host Mappings nou pral ajoute lame vityèl nou an nan li:
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.
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:
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:
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:
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è:
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:
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.
Bon, apre sa nou ka antre nan koòdone otorizasyon an:
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!