Nextcloud ndani na nje ya OpenLiteSpeed ​​​​: weka seva mbadala ya kinyume

Ninawezaje kusanidi OpenLiteSpeed ​​​​ili kubadilisha seva mbadala hadi Nextcloud kwenye mtandao wa ndani?

Kwa kushangaza, utafutaji kwenye Habre kwa OpenLiteSpeed ​​​​haitoi chochote! Ninaharakisha kurekebisha dhuluma hii, kwa sababu LSWS ni seva nzuri ya wavuti. Ninaipenda kwa kasi yake na kiolesura maridadi cha usimamizi wa wavuti:

Nextcloud ndani na nje ya OpenLiteSpeed ​​​​: weka seva mbadala ya kinyume

Ingawa OpenLiteSpeed ​​​​inajulikana zaidi kama "kiongeza kasi" cha WordPress, katika nakala ya leo nitaonyesha matumizi yake maalum. Yaani ubadilishaji wa uwakilishi wa maombi (reverse proksi). Unasema kuwa ni kawaida zaidi kutumia nginx kwa hili? Nitakubali. Lakini inauma sana tulipenda LSWS!

Uwakilishi ni sawa, lakini wapi? Katika huduma isiyo ya chini ya ajabu - Nextcloud. Tunatumia Nextcloud kuunda "mawingu ya kushiriki faili" ya kibinafsi. Kwa kila mteja, tunatenga VM tofauti na Nextcloud, na hatutaki kuwafichua "nje". Badala yake, tunaomba seva mbadala kupitia seva mbadala ya kawaida ya kinyume. Suluhisho hili linaruhusu:
1) ondoa seva ambayo data ya mteja imehifadhiwa kutoka kwa Mtandao na
2) hifadhi ip-anwani.

Mpango unaonekana kama hii:

Nextcloud ndani na nje ya OpenLiteSpeed ​​​​: weka seva mbadala ya kinyume

Ni wazi kuwa mpango huo umerahisishwa, kwa sababu shirika la miundombinu ya huduma za mtandao sio mada ya makala ya leo.

Pia katika makala hii nitaacha ufungaji na usanidi wa msingi wa nextcloud, hasa kwa vile kuna vifaa kwenye mada hii kwenye Habre. Lakini hakika nitaonyesha mipangilio, bila ambayo Nextcloud haitafanya kazi nyuma ya wakala.

Imetolewa:
Nextcloud imesakinishwa kwenye seva pangishi 1 na kusanidiwa kufanya kazi kupitia http (bila SSL), ina kiolesura cha mtandao wa ndani na anwani ya IP ya "kijivu" 172.16.22.110.
Wacha tusanidi OpenLiteSpeed ​​​​kwenye mwenyeji 2. Ina miingiliano miwili, ya nje (inaonekana kwenye Mtandao) na ya ndani na anwani ya IP kwenye mtandao 172.16.22.0/24
Anwani ya IP ya kiolesura cha mpangishi 2 ni jina la DNS cloud.connect.link

Kazi:
Pata kutoka kwa Mtandao kupitia kiungo 'https://cloud.connect.link' (SSL) kwa Nextcloud kwenye mtandao wa ndani.

  • Kufunga OpenLiteSpeed ​​​​kwenye Ubuntu 18.04.2.

Wacha tuongeze hazina:

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

kufunga, kukimbia:

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

  • Mpangilio mdogo wa firewall.

    sudo ufw kuruhusu ssh
    sudo ufw chaguo-msingi ruhusu zinazotoka
    sudo ufw chaguo-msingi kukataa zinazoingia
    sudo ufw kuruhusu http
    sudo ufw kuruhusuhttps
    sudo ufw kuruhusu kutoka mwenyeji wako wa usimamizi kwa bandari yoyote 7080
    sudo ufw itawezesha

  • Sanidi OpenLiteSpeed ​​​​kama proksi ya nyuma.
    Wacha tuunde saraka chini ya mwenyeji wa kawaida.

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

Hebu tusanidi seva pangishi pepe kutoka kwa kiolesura cha wavuti cha LSWS.
Fungua usimamizi wa url http://cloud.connect.link:7080
Kuingia/nenosiri chaguomsingi: admin/123456

Nextcloud ndani na nje ya OpenLiteSpeed ​​​​: weka seva mbadala ya kinyume

Ongeza seva pangishi pepe (Wapangishi Virtual > Ongeza).
Wakati wa kuongeza, ujumbe wa hitilafu utaonekana - faili ya usanidi haipo. Hii ni kawaida, kutatuliwa kwa kubofya Bofya ili kuunda.

Nextcloud ndani na nje ya OpenLiteSpeed ​​​​: weka seva mbadala ya kinyume

Kwenye kichupo cha Jumla, taja Mizizi ya Hati (ingawa haihitajiki, usanidi hautaondoka bila hiyo). Jina la Kikoa, ikiwa halijabainishwa, litachukuliwa kutoka kwa Jina la Mpangishi halisi, ambalo tuliliita jina la kikoa chetu.

Nextcloud ndani na nje ya OpenLiteSpeed ​​​​: weka seva mbadala ya kinyume

Sasa ni wakati wa kukumbuka kuwa hatuna seva ya wavuti tu, lakini wakala wa nyuma. Mipangilio ifuatayo itaambia LSWS nini cha seva mbadala na wapi. Katika mipangilio ya mwenyeji pepe, fungua kichupo cha Programu ya Nje na uongeze programu mpya ya aina ya seva ya Wavuti:

Nextcloud ndani na nje ya OpenLiteSpeed ​​​​: weka seva mbadala ya kinyume

Taja jina na anwani. Unaweza kutaja jina la kiholela, lakini unahitaji kukumbuka, litakuja kwa manufaa katika hatua zinazofuata. Anwani ni ile ambayo Nextcloud inaishi katika mtandao wa ndani:

Nextcloud ndani na nje ya OpenLiteSpeed ​​​​: weka seva mbadala ya kinyume

Katika mipangilio sawa ya seva pangishi, fungua kichupo cha Muktadha na uunde muktadha mpya wa aina ya Proksi:

Nextcloud ndani na nje ya OpenLiteSpeed ​​​​: weka seva mbadala ya kinyume

Bainisha vigezo: URI = /, Seva ya wavuti = nextcloud_1 (jina kutoka hatua ya awali)

Nextcloud ndani na nje ya OpenLiteSpeed ​​​​: weka seva mbadala ya kinyume

Anzisha tena LSWS. Hii inafanywa kwa kubofya mara moja kutoka kwa kiolesura cha wavuti, miujiza! (mbeba panya wa urithi anaongea ndani yangu)

Nextcloud ndani na nje ya OpenLiteSpeed ​​​​: weka seva mbadala ya kinyume
Nextcloud ndani na nje ya OpenLiteSpeed ​​​​: weka seva mbadala ya kinyume

  • Tunaweka cheti, sanidi https.
    Utaratibu wa kupata cheti tutaiacha, tukubali kwamba tayari tunayo na tunalala na ufunguo katika saraka ya /etc/letsencrypt/live/cloud.connect.link.

Hebu tuunde "msikilizaji" (Wasikilizaji > Ongeza), tuite "https". Ielekeze kwa bandari 443 na kumbuka kuwa itakuwa Salama:

Nextcloud ndani na nje ya OpenLiteSpeed ​​​​: weka seva mbadala ya kinyume

Kwenye kichupo cha SSL, taja njia ya ufunguo na cheti:

Nextcloud ndani na nje ya OpenLiteSpeed ​​​​: weka seva mbadala ya kinyume

"Msikilizaji" ameundwa, sasa katika sehemu ya Ramani za Mpangishi Mtandaoni tutaongeza mwenyeji wetu pepe kwake:

Nextcloud ndani na nje ya OpenLiteSpeed ​​​​: weka seva mbadala ya kinyume

Ikiwa LSWS itakuwa seva mbadala kwa huduma moja pekee, usanidi unaweza kukamilika. Lakini tunapanga kuitumia kutuma maombi kwa "matukio" tofauti kulingana na jina la kikoa. Na vikoa vyote vitakuwa na vyeti vyao. Kwa hivyo, unahitaji kwenda kwenye usanidi wa virtualhost na ueleze tena ufunguo wake na cheti kwenye kichupo cha SSL. Katika siku zijazo, hii inapaswa kufanywa kwa kila mpangishaji mpya pepe.

Nextcloud ndani na nje ya OpenLiteSpeed ​​​​: weka seva mbadala ya kinyume

Inabakia kusanidi uandikaji upya wa url ili maombi ya http yashughulikiwe kwa https.
(Kwa njia, hii itaisha lini? Ni wakati wa vivinjari na programu zingine kwenda kwa https kwa chaguo-msingi, na kusambaza kwa no-SSL mwenyewe ikiwa ni lazima).
Washa Wezesha Kuandika Upya na uandike Sheria za Kuandika Upya:

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

Nextcloud ndani na nje ya OpenLiteSpeed ​​​​: weka seva mbadala ya kinyume

Kwa sababu ya kutokuelewana kwa kushangaza, haiwezekani kutumia sheria za Andika Upya kwa kuwasha upya kwa kawaida kwa Graceful. Kwa hivyo, tutaanzisha tena LSWS sio kwa neema, lakini kwa ukali na kwa ufanisi:

sudo systemctl anzisha tena lsws.service

Ili kufanya seva isikilize port 80, hebu tuunde Msikilizaji mwingine. Wacha tuiite http, taja bandari ya 80 na kwamba itakuwa isiyo salama:

Nextcloud ndani na nje ya OpenLiteSpeed ​​​​: weka seva mbadala ya kinyume

Kwa mlinganisho na mpangilio wa msikilizaji wa https, hebu tuambatishe mwenyeji wetu pepe kwayo.

Sasa LSWS itasikiliza kwenye port 80 na kutuma maombi kwa 443 kutoka kwayo, ikiandika upya url.
Kwa kumalizia, ninapendekeza kupunguza kiwango cha ukataji miti cha LSWS, ambacho kimewekwa kwa Debug kwa chaguo-msingi. Katika hali hii, magogo huzidisha kwa kasi ya umeme! Kwa hali nyingi, kiwango cha Onyo kinatosha. Nenda kwa Usanidi wa Seva> Ingia:

Nextcloud ndani na nje ya OpenLiteSpeed ​​​​: weka seva mbadala ya kinyume

Hii inakamilisha usanidi wa OpenLiteSpeed ​​​​kama proksi ya kurudi nyuma. Kwa mara nyingine tena, anzisha tena LSWS, fuata kiungo https://cloud.connect.link na tazama:

Nextcloud ndani na nje ya OpenLiteSpeed ​​​​: weka seva mbadala ya kinyume

Ili Nextcloud ituruhusu kuingia, tunahitaji kuongeza kikoa cha cloud.connect.link kwenye orodha inayoaminika. Twende kuhariri config.php. Niliweka Nextcloud kiatomati wakati wa kusakinisha Ubuntu na usanidi upo hapa: /var/snap/nextcloud/current/nextcloud/config.
Ongeza kigezo cha 'cloud.connect.link' kwenye ufunguo wa trusted_domains:

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

Nextcloud ndani na nje ya OpenLiteSpeed ​​​​: weka seva mbadala ya kinyume

Zaidi ya hayo, katika usanidi sawa, lazima ubainishe anwani ya IP ya wakala wetu. Ninatoa mawazo yako kwa ukweli kwamba anwani lazima ielezwe moja ambayo inaonekana kwa seva ya Nextcloud, i.e. IP ya kiolesura cha ndani cha LSWS. Bila hatua hii, interface ya wavuti ya Nextcloud inafanya kazi, lakini programu hazijaidhinishwa.

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

Sawa, baada ya hapo tunaweza kuingia kwenye kiolesura cha idhini:

Nextcloud ndani na nje ya OpenLiteSpeed ​​​​: weka seva mbadala ya kinyume

Tatizo limetatuliwa! Sasa kila mteja anaweza kutumia kwa usalama "wingu la faili" kwenye url yake ya kibinafsi, seva iliyo na faili imetenganishwa na mtandao, wateja wa siku zijazo watapokea kila kitu sawa na hakuna anwani moja ya ziada ya IP itaathirika.
Zaidi ya hayo, unaweza kutumia wakala wa nyuma kutoa maudhui tuli, lakini kwa upande wa Nextcloud, hii haitatoa ongezeko kubwa la kasi. Kwa hivyo ni hiari na hiari.

Nimefurahi kushiriki hadithi hii, natumai itakuwa muhimu kwa mtu. Ikiwa unajua zaidi njia za kifahari na za ufanisi za kutatua tatizo, nitashukuru kwa maoni!

Chanzo: mapenzi.com

Kuongeza maoni