Nextcloud di jero sareng di luar OpenLiteSpeed: nyetél proksi sabalikna

Kumaha kuring nyetél OpenLiteSpeed ​​​​pikeun ngabalikeun proxy ka Nextcloud dina jaringan internal?

Héran, milarian dina Habré pikeun OpenLiteSpeed ​​​​teu masihan nanaon! Kuring hasten pikeun ngabenerkeun ketidakadilan ieu, sabab LSWS mangrupakeun web server santun. Abdi resep kana antarmuka administrasi wéb anu gancang sareng saé:

Nextcloud di jero sareng di luar OpenLiteSpeed: nyetél proksi sabalikna

Sanaos OpenLiteSpeed ​​​​paling kasohor salaku "akselerator" WordPress, dina tulisan ayeuna kuring bakal nunjukkeun anjeun panggunaan anu rada khusus. Nyaéta reverse proxying of requests (reverse proxy). Anjeun nyarios yén éta langkung umum ngagunakeun nginx pikeun ieu? Abdi satuju. Tapi nyeri pisan urang murag asih jeung LSWS!

Proxying henteu kunanaon, tapi dimana? Dina jasa anu henteu langkung saé - Nextcloud. Kami nganggo Nextcloud pikeun nyiptakeun "awan ngabagi file" pribadi. Pikeun unggal klien, kami nyayogikeun VM anu misah sareng Nextcloud, sareng kami henteu hoyong ngalaan aranjeunna "di luar". Gantina, urang requests proxy ngaliwatan proxy sabalikna umum. Solusi ieu ngamungkinkeun:
1) miceun server dimana data klien disimpen tina Internét sareng
2) nyimpen ip-alamat.

Skéma na sapertos kieu:

Nextcloud di jero sareng di luar OpenLiteSpeed: nyetél proksi sabalikna

Ieu jelas yén skéma disederhanakeun, sabab organisasi infrastruktur jasa wéb sanés topik dina tulisan ayeuna.

Ogé dina tulisan ieu kuring bakal ngaleungitkeun pamasangan sareng konfigurasi dasar nextcloud, khususna saprak Habré gaduh bahan dina topik ieu. Tapi kuring pasti bakal nunjukkeun setélan, tanpa mana Nextcloud moal jalan di tukangeun proxy.

dibikeun:
Nextcloud dipasang dina host 1 tur ngonpigurasi pikeun digawé leuwih http (tanpa SSL), boga ngan hiji panganteur jaringan lokal sarta "abu" alamat IP 172.16.22.110.
Hayu urang ngonpigurasikeun OpenLiteSpeed ​​​​dina host 2. Cai mibanda dua interfaces, éksternal (katingali ka Internet) jeung internal kalawan alamat IP dina jaringan 172.16.22.0/24.
Alamat IP panganteur éksternal host 2 nyaéta ngaran DNS cloud.connect.link

Tugas:
Kéngingkeun tina Internét ngalangkungan tautan 'https://cloud.connect.link' (SSL) ka Nextcloud dina jaringan internal.

  • Masang OpenLiteSpeed ​​​​dina Ubuntu 18.04.2.

Hayu urang tambahkeun gudang:

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

install, ngajalankeun:

sudo apt-meunang install openlitespeed
sudo /usr/local/lsws/bin/lswsctrl ngamimitian

  • Setélan firewall minimal.

    sudo ufw ngidinan ssh
    sudo ufw standar ngidinan kaluar
    sudo ufw standar nolak asup
    sudo ufw ngamungkinkeun http
    sudo ufw ngidinanhttps
    sudo ufw ngidinan ti host manajemén Anjeun ka sagala port 7080
    sudo ufw ngaktipkeun

  • Setel OpenLiteSpeed ​​​​sabagé proxy sabalikna.
    Hayu urang jieun diréktori handapeun virtualhost.

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

Hayu urang ngonpigurasikeun host virtual tina antarmuka wéb LSWS.
Buka manajemén url http://cloud.connect.link:7080
Lebet standar / sandi: admin / 123456

Nextcloud di jero sareng di luar OpenLiteSpeed: nyetél proksi sabalikna

Tambahkeun host virtual (Virtual Hosts> Tambah).
Nalika nambihan, pesen kasalahan bakal muncul - file konfigurasi leungit. Ieu normal, direngsekeun ku ngaklik Klik pikeun nyieun.

Nextcloud di jero sareng di luar OpenLiteSpeed: nyetél proksi sabalikna

Dina tab Umum, tangtukeun Akar Dokumén (sanaos henteu diperyogikeun, config moal lepas tanpa éta). Ngaran Domain, upami henteu dieusian, bakal dicandak tina Ngaran Inangna Virtual, anu kami namina nami domain kami.

Nextcloud di jero sareng di luar OpenLiteSpeed: nyetél proksi sabalikna

Ayeuna waktuna pikeun émut yén urang gaduh sanés ngan ukur pangladén wéb, tapi proxy sabalikna. Setelan di handap bakal ngabejaan LSWS naon proxy na dimana. Dina setélan virtualhost, buka tab Aplikasi éksternal sareng tambahkeun aplikasi anyar tina jinis pangladén wéb:

Nextcloud di jero sareng di luar OpenLiteSpeed: nyetél proksi sabalikna

Sebutkeun nami sareng alamatna. Anjeun tiasa netepkeun nami sawenang, tapi anjeun kedah émut, éta bakal mangpaat dina léngkah-léngkah salajengna. Alamatna nyaéta tempat Nextcloud cicing dina jaringan internal:

Nextcloud di jero sareng di luar OpenLiteSpeed: nyetél proksi sabalikna

Dina setélan virtualhost anu sami, buka tab Konteks sareng jieun kontéks énggal tina jinis Proxy:

Nextcloud di jero sareng di luar OpenLiteSpeed: nyetél proksi sabalikna

Sebutkeun parameter: URI = /, Web server = nextcloud_1 (ngaran tina hambalan saméméhna)

Nextcloud di jero sareng di luar OpenLiteSpeed: nyetél proksi sabalikna

Balikan deui LSWS. Hal ieu dilakukeun ku hiji klik tina panganteur web, mujijat! (pembawa beurit turunan nyarios dina kuring)

Nextcloud di jero sareng di luar OpenLiteSpeed: nyetél proksi sabalikna
Nextcloud di jero sareng di luar OpenLiteSpeed: nyetél proksi sabalikna

  • Urang nempatkeun sertipikat, ngonpigurasikeun HTTPS.
    Prosedur pikeun meunangkeun sertipikat urang bakal ngaleungitkeun eta, satuju yen urang geus boga eta jeung bohong jeung konci dina /etc/letsencrypt/live/cloud.connect.link diréktori.

Hayu urang nyieun "pendengar" (Pangaregepkeun> Tambah), sebutkeun "https". Tunjukkeun ka port 443 sareng perhatikeun yén éta bakal Aman:

Nextcloud di jero sareng di luar OpenLiteSpeed: nyetél proksi sabalikna

Dina tab SSL, tangtukeun jalur ka konci na sertipikat:

Nextcloud di jero sareng di luar OpenLiteSpeed: nyetél proksi sabalikna

The "pangdéngé" geus dijieun, ayeuna dina bagian Virtual Host Mappings urang bakal nambahan host maya urang ka dinya:

Nextcloud di jero sareng di luar OpenLiteSpeed: nyetél proksi sabalikna

Lamun LSWS ngan bakal proxy ka hiji layanan, konfigurasi bisa réngsé. Tapi kami rencanana ngagunakeun éta pikeun ngirim pamundut ka "instansi" anu béda-béda gumantung kana nami domain. Sareng sadaya domain bakal gaduh sertipikat sorangan. Ku alatan éta, anjeun kudu indit ka virtualhost config jeung deui tangtukeun konci na sertipikat dina tab SSL. Dina mangsa nu bakal datang, ieu kudu dipigawé pikeun unggal host virtual anyar.

Nextcloud di jero sareng di luar OpenLiteSpeed: nyetél proksi sabalikna

Éta tetep pikeun ngonpigurasikeun nulis ulang url supados pamundut http ditujukeun ka HTTPS.
(Ku jalan kitu, iraha ieu bakal mungkas? Geus waktuna pikeun panyungsi jeung software séjén pikeun buka HTTPS sacara standar, terus maju ka no-SSL sacara manual lamun perlu).
Hurungkeun Aktipkeun Tulis Ulang sareng tulis Aturan Tulis Ulang:

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

Nextcloud di jero sareng di luar OpenLiteSpeed: nyetél proksi sabalikna

Kusabab salah paham anu aneh, mustahil pikeun nerapkeun aturan Tulis Ulang sareng restart Graceful biasa. Ku alatan éta, urang bakal balikan deui LSWS teu gracefully, tapi rudely jeung éfisién:

sudo systemctl balikan deui lsws.service

Pikeun ngajantenkeun server ngadangukeun port 80, hayu urang ngadamel Listener anu sanés. Hayu urang sebut wae http, tangtukeun port 80th sarta yén éta bakal non-Aman:

Nextcloud di jero sareng di luar OpenLiteSpeed: nyetél proksi sabalikna

Ku analogi sareng setélan pangdéngé https, hayu urang pasang host virtual kami ka éta.

Ayeuna LSWS bakal ngadangukeun port 80 sareng ngirim pamundut ka 443 ti dinya, nyerat url na.
Dina kacindekan, kuring nyarankeun nurunkeun tingkat logging LSWS, anu disetel ka Debug sacara standar. Dina modeu ieu, log ngalobaan dina laju kilat! Kanggo sabagéan ageung kasus, tingkat Perhatosan cekap. Pindah ka Konfigurasi Server> Log:

Nextcloud di jero sareng di luar OpenLiteSpeed: nyetél proksi sabalikna

Ieu ngalengkepan konfigurasi OpenLiteSpeed ​​​​sabagé proxy sabalikna. Sakali deui, balikan deui LSWS, turutan tautan https://cloud.connect.link sareng tingali:

Nextcloud di jero sareng di luar OpenLiteSpeed: nyetél proksi sabalikna

Supados Nextcloud ngantepkeun kami, urang kedah nambihan domain cloud.connect.link kana daptar anu dipercaya. Hayu urang ngédit config.php. Kuring masang Nextcloud sacara otomatis nalika masang Ubuntu sareng konfigurasina aya di dieu: /var/snap/nextcloud/current/nextcloud/config.
Tambahkeun parameter 'cloud.connect.link' kana konci trusted_domains:

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

Nextcloud di jero sareng di luar OpenLiteSpeed: nyetél proksi sabalikna

Salajengna, dina konfigurasi anu sami, anjeun kedah netepkeun alamat IP proxy kami. Kuring ngagambar perhatian anjeun kana kanyataan yén alamatna kedah disebatkeun hiji anu katingali ku server Nextcloud, i.e. IP tina panganteur LSWS lokal. Tanpa léngkah ieu, antarmuka wéb Nextcloud tiasa dianggo, tapi aplikasi henteu otorisasi.

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

Saé, saatos éta urang tiasa asup kana antarmuka otorisasi:

Nextcloud di jero sareng di luar OpenLiteSpeed: nyetél proksi sabalikna

Masalah direngsekeun! Ayeuna unggal klien tiasa aman nganggo "file awan" dina url pribadina, server sareng file dipisahkeun tina Internét, klien anu bakal datang bakal nampi sadayana sami sareng henteu aya alamat IP tambahan anu bakal kapangaruhan.
Salaku tambahan, anjeun tiasa nganggo proxy sabalikna pikeun nganteurkeun eusi statik, tapi dina kasus Nextcloud, ieu moal masihan kanaékan gancang. Janten éta opsional sareng opsional.

Abdi bungah ngabagi carita ieu, mugia aya mangpaatna pikeun batur. Upami anjeun terang metode anu langkung elegan sareng efisien pikeun ngarengsekeun masalah, kuring bakal nganuhunkeun pikeun koméntar!

sumber: www.habr.com

Tambahkeun komentar