Nextcloud sab hauv, thiab sab nraud OpenLiteSpeed: teeb tsa rov qab proxying

Kuv tuaj yeem teeb tsa OpenLiteSpeed ​​li cas kom thim rov qab npe rau Nextcloud nyob ntawm kuv lub network sab hauv?

Kuj ceeb tias, kev tshawb fawb ntawm Habré rau OpenLiteSpeed ​​tsis tau txais dab tsi! Kuv maj nrawm los kho qhov kev tsis ncaj ncees no, vim tias LSWS yog lub vev xaib tsim nyog. Kuv nyiam nws rau nws ceev thiab zoo nkauj web tswj interface:

Nextcloud sab hauv, thiab sab nraud OpenLiteSpeed: teeb tsa rov qab proxying

Txawm tias muaj tseeb hais tias OpenLiteSpeed ​​​​nrov tshaj plaws li WordPress "accelerator," nyob rau hauv hnub no tsab xov xwm kuv yuav qhia ib tug tshwj xeeb daim ntawv thov ntawm nws. Namely, reverse proxying ntawm kev thov. Koj puas yuav hais tias nws yog ntau dua los siv nginx rau qhov no? Kuv yuav pom zoo. Tab sis peb yeej poob rau hauv kev hlub nrog LSWS!

Proxying ok, tab sis qhov twg? Ib qho kev pabcuam zoo sib xws yog Nextcloud. Peb siv Nextcloud los tsim ntiag tug "cov ntaub ntawv sib koom huab". Rau txhua tus neeg siv khoom, peb faib VM cais nrog Nextcloud, thiab peb tsis xav nthuav tawm lawv "sab nraum". Hloov chaw, peb tso npe thov los ntawm ib qho kev rov qab tso npe. Qhov kev daws teeb meem no tso cai rau koj:
1) tshem tawm lub server uas tus neeg siv khoom cov ntaub ntawv khaws cia hauv Is Taws Nem thiab
2) txuag IP chaw nyob.

Cov txheej txheem zoo li no:

Nextcloud sab hauv, thiab sab nraud OpenLiteSpeed: teeb tsa rov qab proxying

Nws yog tseeb hais tias daim duab yog simplified, vim hais tias kev txhim kho cov kev pabcuam hauv web tsis yog lub ntsiab lus ntawm tsab xov xwm niaj hnub no.

Tsis tas li hauv tsab xov xwm no kuv yuav tshem tawm qhov kev teeb tsa thiab kev teeb tsa yooj yim ntawm nextcloud, tshwj xeeb tshaj yog vim muaj cov ntaub ntawv ntawm cov ncauj lus no ntawm Habré. Tab sis kuv yuav twv yuav raug hu qhia koj qhov chaw yam tsis muaj Nextcloud yuav tsis ua haujlwm tom qab lub npe.

Muab:
Nextcloud tau nruab rau ntawm tus tswv 1 thiab teeb tsa ua haujlwm ntawm http (tsis muaj SSL), tsuas yog muaj qhov sib txuas hauv zos thiab "grey" IP chaw nyob 172.16.22.110.
Wb configure OpenLiteSpeed ​​​​ntawm tus tswv 2. Nws muaj ob qhov sib cuam tshuam, ib qho sab nraud (saib hauv Is Taws Nem) thiab ib qho sab hauv nrog tus IP chaw nyob ntawm lub network 172.16.22.0/24
Lub npe DNS cloud.connect.link ua rau tus IP chaw nyob ntawm sab nraud interface ntawm tus tswv 2

Kev sib tw:
Tau txais los ntawm Is Taws Nem siv qhov txuas 'https://cloud.connect.link' (SSL) ntawm Nextcloud ntawm lub network sab hauv.

  • Txhim kho OpenLiteSpeed ​​​​ntawm Ubuntu 18.04.2.

Cia peb ntxiv ib qho chaw cia khoom:

wget -O — http://rpms.litespeedtech.com/debian/enable_lst_debain_repo.sh | sudo bash
sudo apt-tau hloov tshiab

nruab, khiav:

sudo apt-mus nruab openlitespeed
sudo /usr/local/lsws/bin/lswsctrl pib

  • Cia peb teeb lub firewall tsawg kawg.

    sudo ufw cia ssh
    sudo ufw default tso cai tawm
    sudo ufw default tsis kam txais
    sudo ufw cia http
    sudo ufw tso cai https
    sudo ufw tso cai los ntawm koj tus tswv tsev mus rau ib qho chaw nres nkoj 7080
    sudo ufw pab

  • Wb configure OpenLiteSpeed ​​​​ua lub npe rov qab.
    Cia peb tsim cov npe rau virtualhost.

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

Cia peb teeb tsa lub virtualhost los ntawm LSWS web interface.
Qhib URL tswj http://cloud.connect.link:7080
Default login/password: admin/123456

Nextcloud sab hauv, thiab sab nraud OpenLiteSpeed: teeb tsa rov qab proxying

Ntxiv tus tswv tsev virtual (Virtual Hosts> Ntxiv).
Thaum ntxiv, cov lus yuam kev yuav tshwm sim qhia tias cov ntaub ntawv teeb tsa ploj lawm. Qhov no yog qhov qub thiab tuaj yeem daws tau los ntawm nias Nyem los tsim.

Nextcloud sab hauv, thiab sab nraud OpenLiteSpeed: teeb tsa rov qab proxying

Hauv General tab, qhia cov ntaub ntawv hauv paus (txawm tias nws tsis xav tau, qhov teeb tsa yuav tsis tawm yam tsis muaj nws). Lub Npe Lub Npe, yog tias tsis tau teev tseg, yuav raug coj los ntawm Virtual Host Name, uas peb hu ua lub npe ntawm peb lub npe.

Nextcloud sab hauv, thiab sab nraud OpenLiteSpeed: teeb tsa rov qab proxying

Tam sim no nws yog lub sijhawm kom nco ntsoov tias peb tsis yog tsuas yog muaj lub vev xaib server, tab sis lub npe rov qab. Cov kev teeb tsa hauv qab no yuav qhia LSWS tias yuav tso npe rau dab tsi thiab qhov twg. Hauv qhov chaw virtualhost, qhib Sab Nraud App tab thiab ntxiv ib daim ntawv thov tshiab ntawm Web server hom:

Nextcloud sab hauv, thiab sab nraud OpenLiteSpeed: teeb tsa rov qab proxying

Peb qhia lub npe thiab chaw nyob. Koj tuaj yeem qhia lub npe tsis txaus ntseeg, tab sis koj yuav tsum nco ntsoov nws; nws yuav muaj txiaj ntsig hauv cov kauj ruam tom ntej. Qhov chaw nyob yog qhov twg Nextcloud nyob ntawm lub network sab hauv:

Nextcloud sab hauv, thiab sab nraud OpenLiteSpeed: teeb tsa rov qab proxying

Hauv tib qhov chaw virtualhost, qhib Context tab thiab tsim cov ntsiab lus tshiab ntawm Proxy hom:

Nextcloud sab hauv, thiab sab nraud OpenLiteSpeed: teeb tsa rov qab proxying

Qhia meej qhov tsis muaj: URI = /, Web server = nextcloud_1 (lub npe los ntawm cov kauj ruam dhau los)

Nextcloud sab hauv, thiab sab nraud OpenLiteSpeed: teeb tsa rov qab proxying

Restart LSWS. Qhov no yog ua tiav nrog ib tug nias los ntawm lub web interface, txuj ci tseem ceeb! (tus kab mob uas tshwm sim hauv kuv hais lus)

Nextcloud sab hauv, thiab sab nraud OpenLiteSpeed: teeb tsa rov qab proxying
Nextcloud sab hauv, thiab sab nraud OpenLiteSpeed: teeb tsa rov qab proxying

Cia peb tsim "tus neeg mloog" (Cov Neeg Mloog> Ntxiv), hu nws "https". Cia peb taw tes rau qhov chaw nres nkoj 443 thiab nco ntsoov tias nws yuav ruaj ntseg:

Nextcloud sab hauv, thiab sab nraud OpenLiteSpeed: teeb tsa rov qab proxying

Hauv SSL tab, qhia txoj hauv kev rau tus yuam sij thiab daim ntawv pov thawj:

Nextcloud sab hauv, thiab sab nraud OpenLiteSpeed: teeb tsa rov qab proxying

Cov "neeg mloog" tau tsim, tam sim no hauv ntu Virtual Host Mappings peb yuav ntxiv peb tus tswv tsev virtual rau nws:

Nextcloud sab hauv, thiab sab nraud OpenLiteSpeed: teeb tsa rov qab proxying

Yog tias LSWS yuav tso npe rau ib qho kev pabcuam nkaus xwb, kev teeb tsa tuaj yeem ua tiav. Tab sis peb npaj yuav siv nws kom dhau qhov kev thov mus rau txawv "tswj hwm" nyob ntawm lub npe sau. Thiab txhua qhov chaw yuav muaj lawv tus kheej daim ntawv pov thawj. Yog li ntawd, koj yuav tsum mus rau lub virtualhost config thiab dua qhia nws tus yuam sij thiab daim ntawv pov thawj nyob rau hauv lub SSL tab. Yav tom ntej, qhov no yuav tsum tau ua rau txhua tus tswv tsev tshiab virtual.

Nextcloud sab hauv, thiab sab nraud OpenLiteSpeed: teeb tsa rov qab proxying

Txhua yam uas tseem tshuav yog los teeb tsa url rewriting kom http cov lus thov raug xa mus rau https.
(Los ntawm txoj kev, thaum twg qhov no yuav xaus? Nws yog lub sijhawm rau browsers thiab lwm yam software hloov mus rau https los ntawm lub neej ntawd, thiab xa mus rau tsis muaj SSL manually yog tias tsim nyog).
Qhib Enable Rewrite thiab sau Rewrite Rules:

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

Nextcloud sab hauv, thiab sab nraud OpenLiteSpeed: teeb tsa rov qab proxying

Vim muaj kev nkag siab txawv txawv, koj tsis tuaj yeem siv Rewrite cov cai siv qhov zoo li qub rov pib dua. Yog li, cia peb rov pib LSWS tsis zoo, tab sis hais txog thiab ua tau zoo:

sudo systemctl rov pib lsws.service

Txhawm rau kom tus neeg rau zaub mov mloog chaw nres nkoj 80, peb yuav tsim lwm Tus Mloog. Cia peb hu nws http, qhia qhov chaw nres nkoj 80 thiab qhov tseeb tias nws yuav tsis ruaj ntseg:

Nextcloud sab hauv, thiab sab nraud OpenLiteSpeed: teeb tsa rov qab proxying

Los ntawm kev sib piv nrog kev teeb tsa tus neeg mloog https, cia peb qhia peb tus tswv tsev virtual rau nws.

Tam sim no LSWS yuav mloog chaw nres nkoj 80 thiab xa cov lus thov los ntawm nws mus rau 443, rov sau cov url.
Thaum kawg, kuv pom zoo kom txo qis LSWS logging theem, uas yog teem rau Debug los ntawm lub neej ntawd. Nyob rau hauv hom no, cav sib npaug ntawm xob laim ceev! Rau feem ntau, theem ceeb toom yog txaus. Mus rau Server Configuration> Log:

Nextcloud sab hauv, thiab sab nraud OpenLiteSpeed: teeb tsa rov qab proxying

Qhov no ua tiav qhov kev teeb tsa ntawm OpenLiteSpeed ​​​​ua lub npe rov qab. Ib zaug ntxiv peb rov pib LSWS, ua raws li qhov txuas https://cloud.connect.link thiab saib:

Nextcloud sab hauv, thiab sab nraud OpenLiteSpeed: teeb tsa rov qab proxying

Txhawm rau Nextcloud cia peb nkag mus, peb yuav tsum tau ntxiv qhov sau npe cloud.connect.link rau cov npe ntawm cov neeg ntseeg siab. Wb mus kho config.php. Kuv ntsia Nextcloud tau txais thaum txhim kho Ubuntu thiab qhov teeb tsa nyob ntawm no: /var/snap/nextcloud/tam sim no/nextcloud/config.
Ntxiv qhov 'cloud.connect.link' parameter rau tus yuam sij trusted_domains:

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

Nextcloud sab hauv, thiab sab nraud OpenLiteSpeed: teeb tsa rov qab proxying

Tom ntej no, nyob rau hauv tib config koj yuav tsum qhia tus IP chaw nyob ntawm peb lub npe. Thov nco ntsoov tias qhov chaw nyob yuav tsum tau teev ua ib qho uas pom tau rau Nextcloud server, i.e. LSWS local interface IP. Yog tsis muaj cov kauj ruam no, Nextcloud web interface ua haujlwm, tab sis cov ntawv thov tsis raug tso cai.

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

Zoo, tom qab no peb tuaj yeem tau txais kev tso cai interface:

Nextcloud sab hauv, thiab sab nraud OpenLiteSpeed: teeb tsa rov qab proxying

Teeb meem daws tau! Tam sim no txhua tus neeg siv khoom siv tau zoo siv "cov ntaub ntawv huab" siv lawv tus kheej URL, lub server nrog cov ntaub ntawv raug cais tawm hauv Is Taws Nem, cov neeg siv khoom yav tom ntej yuav tau txais txhua yam zoo ib yam thiab tsis yog ib qho chaw nyob IP ntxiv yuav raug mob.
Tsis tas li ntawd, koj tuaj yeem siv lub npe rov qab los xa cov ntsiab lus zoo li qub, tab sis nyob rau hauv rooj plaub ntawm Nextcloud qhov no yuav tsis ua rau pom kev nce nrawm. Yog li qhov no yog xaiv tau thiab xaiv tau.

Kuv zoo siab los qhia zaj dab neeg no, kuv vam tias nws yuav muaj txiaj ntsig rau ib tus neeg. Yog tias koj paub ntau dua elegant thiab siv tau zoo rau kev daws qhov teeb meem no, kuv yuav ua tsaug rau koj cov lus!

Tau qhov twg los: www.hab.com

Ntxiv ib saib