Nextcloud ing njero lan njaba OpenLiteSpeed: nyetel proxy reverse

Kepiye carane nyiyapake OpenLiteSpeed ​​​​kanggo ngowahi proxy menyang Nextcloud ing jaringan internal?

Kaget, telusuran ing Habré kanggo OpenLiteSpeed ​​​​ora menehi apa-apa! Aku cepet-cepet mbenerake ketidakadilan iki, amarga LSWS minangka server web sing prayoga. Aku seneng amarga antarmuka administrasi web sing cepet lan apik:

Nextcloud ing njero lan njaba OpenLiteSpeed: nyetel proxy reverse

Sanajan OpenLiteSpeed ​​​​sing paling misuwur minangka "akselerator" WordPress, ing artikel saiki aku bakal nuduhake panggunaan sing rada spesifik. Yaiku reverse proxying request (reverse proxy). Sampeyan ujar manawa luwih umum nggunakake nginx kanggo iki? Aku bakal setuju. Nanging lara banget kita tresna karo LSWS!

Proxying iku ok, nanging ngendi? Ing layanan sing ora kurang apik - Nextcloud. Kita nggunakake Nextcloud kanggo nggawe "awan enggo bareng file" pribadi. Kanggo saben klien, kita nyedhiyakake VM sing kapisah karo Nextcloud, lan kita ora pengin mbabarake "njaba". Nanging, kita njaluk proxy liwat proxy reverse umum. Solusi iki ngidini:
1) mbusak server sing data klien disimpen saka Internet lan
2) nyimpen ip-alamat.

Skema kaya iki:

Nextcloud ing njero lan njaba OpenLiteSpeed: nyetel proxy reverse

Cetha yen skema kasebut disederhanakake, amarga organisasi infrastruktur layanan web dudu topik artikel saiki.

Uga ing artikel iki aku bakal ngilangi instalasi lan konfigurasi dhasar saka nextcloud, utamane amarga Habré duwe materi babagan topik iki. Nanging aku mesthi bakal nuduhake setelan kasebut, tanpa Nextcloud ora bakal bisa digunakake ing mburi proxy.

Given:
Nextcloud diinstal ing inang 1 lan diatur kanggo bisa liwat http (tanpa SSL), wis mung antarmuka jaringan lokal lan alamat IP "abu-abu" 172.16.22.110.
Ayo konfigurasi OpenLiteSpeed ​​​​ing host 2. Wis rong antarmuka, eksternal (katon menyang Internet) lan internal kanthi alamat IP ing jaringan 172.16.22.0/24
Alamat IP antarmuka eksternal Host 2 yaiku jeneng DNS cloud.connect.link

Tugas:
Entuk saka Internet liwat link 'https://cloud.connect.link' (SSL) menyang Nextcloud ing jaringan internal.

  • Nginstal OpenLiteSpeed ​​​​ing Ubuntu 18.04.2.

Ayo nambah repositori:

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

nginstal, mbukak:

sudo apt-get nginstal openlitespeed
sudo /usr/local/lsws/bin/lswsctrl miwiti

  • Persiyapan firewall minimal.

    sudo ufw ngidini ssh
    sudo ufw standar ngidini metu
    sudo ufw standar nolak mlebu
    sudo ufw ngidini http
    sudo ufw ngidinihttps
    sudo ufw ngidini saka host manajemen sampeyan menyang port 7080 apa wae
    sudo ufw enable

  • Setel OpenLiteSpeed ​​​​minangka proxy mbalikke.
    Ayo nggawe direktori ing virtualhost.

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

Ayo konfigurasi host virtual saka antarmuka web LSWS.
Mbukak manajemen url http://cloud.connect.link:7080
Default login/sandi: admin/123456

Nextcloud ing njero lan njaba OpenLiteSpeed: nyetel proxy reverse

Tambah host virtual (Host Virtual> Tambah).
Nalika nambah, pesen kesalahan bakal katon - file konfigurasi ilang. Iki normal, ditanggulangi kanthi ngeklik Klik kanggo nggawe.

Nextcloud ing njero lan njaba OpenLiteSpeed: nyetel proxy reverse

Ing tab Umum, nemtokake Document Root (sanajan ora perlu, konfigurasi ora bakal njupuk tanpa iku). Jeneng Domain, yen ora ditemtokake, bakal dijupuk saka Jeneng Inang Virtual, sing dijenengi jeneng domain kita.

Nextcloud ing njero lan njaba OpenLiteSpeed: nyetel proxy reverse

Saiki iku wektu kanggo elinga yen kita duwe ora mung server web, nanging proxy mbalikke. Setelan ing ngisor iki bakal ngandhani LSWS apa sing kudu diproksi lan ing ngendi. Ing setelan virtualhost, bukak tab Aplikasi Eksternal lan tambahake aplikasi anyar saka jinis server Web:

Nextcloud ing njero lan njaba OpenLiteSpeed: nyetel proxy reverse

Nemtokake jeneng lan alamat. Sampeyan bisa nemtokake jeneng sewenang-wenang, nanging sampeyan kudu ngelingi, bakal migunani ing langkah sabanjure. Alamat kasebut yaiku ing ngendi Nextcloud manggon ing jaringan internal:

Nextcloud ing njero lan njaba OpenLiteSpeed: nyetel proxy reverse

Ing setelan host virtual sing padha, bukak tab Konteks lan gawe konteks anyar saka jinis Proxy:

Nextcloud ing njero lan njaba OpenLiteSpeed: nyetel proxy reverse

Nemtokake paramèter: URI = /, Web server = nextcloud_1 (jeneng saka langkah sadurunge)

Nextcloud ing njero lan njaba OpenLiteSpeed: nyetel proxy reverse

Wiwiti maneh LSWS. Iki rampung karo siji klik saka antarmuka web, mukjijat! (pembawa mouse turun temurun ngomong ing aku)

Nextcloud ing njero lan njaba OpenLiteSpeed: nyetel proxy reverse
Nextcloud ing njero lan njaba OpenLiteSpeed: nyetel proxy reverse

  • Kita sijine sertifikat, ngatur https.
    Prosedur kanggo entuk sertifikat kita bakal ngilangi, setuju yen kita wis duwe lan ngapusi karo tombol ing direktori /etc/letsencrypt/live/cloud.connect.link.

Ayo nggawe "pendengar" (Pendengar > Tambah), ayo diarani "https". Arah menyang port 443 lan cathet yen bakal Aman:

Nextcloud ing njero lan njaba OpenLiteSpeed: nyetel proxy reverse

Ing tab SSL, nemtokake path menyang kunci lan sertifikat:

Nextcloud ing njero lan njaba OpenLiteSpeed: nyetel proxy reverse

"Pendengar" wis digawe, saiki ing bagean Virtual Host Mappings kita bakal nambah host virtual kita:

Nextcloud ing njero lan njaba OpenLiteSpeed: nyetel proxy reverse

Yen LSWS mung bakal proxy kanggo siji layanan, konfigurasi bisa rampung. Nanging kita rencana nggunakake aplikasi kasebut kanggo ngirim panjaluk menyang "kasus" sing beda-beda gumantung saka jeneng domain. Lan kabeh domain bakal duwe sertifikat dhewe. Mulane, sampeyan kudu pindhah menyang konfigurasi virtualhost lan maneh nemtokake kunci lan sertifikat ing tab SSL. Ing mangsa ngarep, iki kudu ditindakake kanggo saben host virtual anyar.

Nextcloud ing njero lan njaba OpenLiteSpeed: nyetel proxy reverse

Iku tetep kanggo ngatur nulis ulang url supaya panjalukan http ditujokake menyang https.
(Oalah, kapan iki bakal rampung? Iku wektu kanggo browser lan piranti lunak liyane kanggo pindhah menyang https minangka standar, lan nerusake kanggo ora-SSL kanthi manual yen perlu).
Aktifake Aktifake Tulis Ulang lan tulis Aturan Tulis Ulang:

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

Nextcloud ing njero lan njaba OpenLiteSpeed: nyetel proxy reverse

Amarga misunderstanding aneh, iku mokal kanggo aplikasi Rewrite aturan karo restart Graceful biasanipun. Mula, kita bakal miwiti maneh LSWS ora kanthi apik, nanging kanthi kasar lan efisien:

sudo systemctl miwiti maneh lsws.service

Kanggo nggawe server ngrungokake port 80, ayo nggawe Listener liyane. Ayo diarani http, nemtokake port 80th lan bakal ora aman:

Nextcloud ing njero lan njaba OpenLiteSpeed: nyetel proxy reverse

Kanthi analogi karo setelan pamireng https, ayo masang host virtual kita.

Saiki LSWS bakal ngrungokake ing port 80 lan ngirim panjalukan kanggo 443 saka iku, rewriting url.
Ing kesimpulan, aku nyaranake ngedhunake tingkat logging LSWS, sing disetel kanggo Debug kanthi standar. Ing mode iki, log multiply ing kacepetan kilat! Umume kasus, level Warning cukup. Pindhah menyang Konfigurasi Server> Log:

Nextcloud ing njero lan njaba OpenLiteSpeed: nyetel proxy reverse

Iki ngrampungake konfigurasi OpenLiteSpeed ​​​​minangka proxy mbalikke. Sawise maneh, miwiti maneh LSWS, tindakake link https://cloud.connect.link lan ndeleng:

Nextcloud ing njero lan njaba OpenLiteSpeed: nyetel proxy reverse

Supaya Nextcloud ngidini kita mlebu, kita kudu nambah domain cloud.connect.link menyang dhaptar sing dipercaya. Ayo nyunting config.php. Aku nginstal Nextcloud kanthi otomatis nalika nginstal Ubuntu lan konfigurasi dumunung ing kene: /var/snap/nextcloud/current/nextcloud/config.
Tambah parameter 'cloud.connect.link' menyang kunci trusted_domains:

'domain_dipercaya' =>
susunan (
0 => '172.16.22.110',
1 => 'cloud.connect.link',
),

Nextcloud ing njero lan njaba OpenLiteSpeed: nyetel proxy reverse

Salajengipun, ing konfigurasi sing padha, sampeyan kudu nemtokake alamat IP proxy kita. Aku narik kawigaten sampeyan manawa alamat kasebut kudu ditemtokake sing katon ing server Nextcloud, i.e. IP antarmuka LSWS lokal. Tanpa langkah iki, antarmuka web Nextcloud bisa digunakake, nanging aplikasi ora sah.

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

Apik, sawise iku kita bisa mlebu ing antarmuka wewenang:

Nextcloud ing njero lan njaba OpenLiteSpeed: nyetel proxy reverse

Masalah ditanggulangi! Saiki saben klien bisa nggunakake "cloud file" kanthi aman ing url pribadine dhewe, server karo file dipisahake saka Internet, klien ing mangsa ngarep bakal nampa kabeh sing padha lan ora ana alamat IP tambahan sing bakal kena pengaruh.
Kajaba iku, sampeyan bisa nggunakake proxy mbalikke kanggo ngirim konten statis, nanging ing kasus Nextcloud, iki ora bakal nambah kacepetan. Dadi opsional lan opsional.

Aku seneng nuduhake crita iki, muga-muga bisa migunani kanggo sapa wae. Yen sampeyan ngerti cara sing luwih elegan lan efisien kanggo ngrampungake masalah, aku bakal ngucapke matur nuwun kanggo komentar!

Source: www.habr.com

Add a comment