ProHoster > Blog > Pentadbiran > Nextcloud di dalam dan di luar OpenLiteSpeed: menyediakan proksi terbalik
Nextcloud di dalam dan di luar OpenLiteSpeed: menyediakan proksi terbalik
Bagaimanakah cara saya menyediakan OpenLiteSpeed untuk membalikkan proksi kepada Nextcloud pada rangkaian dalaman?
Anehnya, carian di Habré untuk OpenLiteSpeed tidak memberikan apa-apa! Saya segera membetulkan ketidakadilan ini, kerana LSWS ialah pelayan web yang baik. Saya menyukainya kerana kelajuan dan antara muka pentadbiran web yang mewah:
Walaupun OpenLiteSpeed paling terkenal sebagai "pemecut" WordPress, dalam artikel hari ini saya akan menunjukkan penggunaannya yang agak khusus. Iaitu reverse proxying permintaan (reverse proxy). Anda mengatakan bahawa lebih biasa menggunakan nginx untuk ini? Saya akan bersetuju. Tetapi ia sangat menyakitkan kami jatuh cinta dengan LSWS!
Proksi adalah ok, tetapi di mana? Dalam perkhidmatan yang tidak kurang hebatnya - Nextcloud. Kami menggunakan Nextcloud untuk mencipta "awan perkongsian fail" peribadi. Untuk setiap pelanggan, kami memperuntukkan VM berasingan dengan Nextcloud, dan kami tidak mahu mendedahkannya "di luar". Sebaliknya, kami meminta proksi melalui proksi songsang biasa. Penyelesaian ini membolehkan:
1) alih keluar pelayan di mana data pelanggan disimpan dari Internet dan
2) simpan alamat ip.
Gambarajah seperti ini:
Adalah jelas bahawa skim itu dipermudahkan, kerana organisasi infrastruktur perkhidmatan web bukanlah topik artikel hari ini.
Juga dalam artikel ini saya akan meninggalkan pemasangan dan konfigurasi asas nextcloud, terutamanya kerana Habré mempunyai bahan mengenai topik ini. Tetapi saya pasti akan menunjukkan tetapan, tanpanya Nextcloud tidak akan berfungsi di belakang proksi.
Diberi:
Nextcloud dipasang pada hos 1 dan dikonfigurasikan untuk berfungsi melalui http (tanpa SSL), hanya mempunyai antara muka rangkaian tempatan dan alamat IP "kelabu" 172.16.22.110.
Mari konfigurasikan OpenLiteSpeed pada hos 2. Ia mempunyai dua antara muka, luaran (kelihatan ke Internet) dan dalaman dengan alamat IP pada rangkaian 172.16.22.0/24
Alamat IP antara muka luaran hos 2 ialah nama DNS cloud.connect.link
Tugas:
Dapatkan daripada Internet melalui pautan 'https://cloud.connect.link' (SSL) kepada Nextcloud pada rangkaian dalaman.
sudo apt-get install openlitespeed
sudo /usr/local/lsws/bin/lswsctrl mula
Persediaan tembok api minimum.
sudo ufw membenarkan ssh
sudo ufw lalai membenarkan keluar
sudo ufw lalai menafikan masuk
sudo ufw membenarkan http
sudo ufw allowhttps
sudo ufw benarkan dari hos pengurusan anda ke mana-mana port 7080
sudo ufw membolehkan
Sediakan OpenLiteSpeed sebagai proksi terbalik.
Mari buat direktori di bawah virtualhost.
cd /usr/local/lsws/
sudo mkdirc cloud.connect.link
cd cloud.connect.link/
sudo mkdir {conf,html,logs}
sudo chown lsadm:lsadm ./conf/
Mari kita konfigurasikan hos maya daripada antara muka web LSWS.
Buka pengurusan url http://cloud.connect.link:7080
Log masuk/kata laluan lalai: admin/123456
Tambah hos maya (Hos Maya > Tambah).
Apabila menambah, mesej ralat akan muncul - fail konfigurasi tiada. Ini adalah perkara biasa, diselesaikan dengan mengklik Klik untuk mencipta.
Dalam tab Umum, nyatakan Akar Dokumen (walaupun ia tidak diperlukan, konfigurasi tidak akan dimatikan tanpanya). Nama Domain, jika tidak dinyatakan, akan diambil daripada Nama Hos Maya, yang kami namakan nama domain kami.
Kini tiba masanya untuk ingat bahawa kami bukan sahaja mempunyai pelayan web, tetapi proksi terbalik. Tetapan berikut akan memberitahu LSWS perkara yang hendak diproksi dan di mana. Dalam tetapan virtualhost, buka tab Apl Luaran dan tambahkan aplikasi baharu jenis pelayan Web:
Nyatakan nama dan alamat. Anda boleh menentukan nama sewenang-wenangnya, tetapi anda perlu mengingatinya, ia akan berguna dalam langkah seterusnya. Alamatnya ialah tempat Nextcloud tinggal dalam rangkaian dalaman:
Dalam tetapan hos maya yang sama, buka tab Konteks dan buat konteks baharu jenis Proksi:
Nyatakan parameter: URI = /, Pelayan web = nextcloud_1 (nama daripada langkah sebelumnya)
Mulakan semula LSWS. Ini dilakukan dengan satu klik dari antara muka web, keajaiban! (pembawa tikus keturunan bercakap dalam diri saya)
Kami meletakkan sijil, konfigurasikan https. Prosedur untuk mendapatkan sijil kami akan meninggalkannya, bersetuju bahawa kami sudah memilikinya dan terletak dengan kunci dalam direktori /etc/letsencrypt/live/cloud.connect.link.
Mari buat "pendengar" (Pendengar > Tambah), mari kita panggil "https". Arahkannya ke port 443 dan ambil perhatian bahawa ia akan selamat:
Dalam tab SSL, tentukan laluan ke kunci dan sijil:
"Pendengar" telah dibuat, kini dalam bahagian Pemetaan Hos Maya kami akan menambah hos maya kami kepadanya:
Jika LSWS hanya akan proksi kepada satu perkhidmatan, konfigurasi boleh dilengkapkan. Tetapi kami merancang untuk menggunakannya untuk menghantar permintaan kepada "kejadian" yang berbeza bergantung pada nama domain. Dan semua domain akan mempunyai sijil mereka sendiri. Oleh itu, anda perlu pergi ke konfigurasi virtualhost dan sekali lagi nyatakan kunci dan sijilnya dalam tab SSL. Pada masa hadapan, ini perlu dilakukan untuk setiap hos maya baharu.
Ia kekal untuk mengkonfigurasi penulisan semula url supaya permintaan http ditujukan kepada https. (Omong-omong, bilakah ini akan berakhir? Sudah tiba masanya untuk penyemak imbas dan perisian lain pergi ke https secara lalai, dan majukan ke no-SSL secara manual jika perlu).
Hidupkan Dayakan Tulis Semula dan tulis Peraturan Tulis Semula:
Disebabkan salah faham yang aneh, adalah mustahil untuk menggunakan peraturan Tulis Semula dengan mula semula Graceful yang biasa. Oleh itu, kami akan memulakan semula LSWS bukan dengan anggun, tetapi secara kasar dan cekap:
sudo systemctl mulakan semula lsws.service
Untuk menjadikan pelayan mendengar port 80, mari buat Pendengar lain. Mari kita panggilnya http, nyatakan port ke-80 dan ia akan menjadi tidak Selamat:
Dengan analogi dengan tetapan pendengar https, mari lampirkan hos maya kami padanya.
Sekarang LSWS akan mendengar pada port 80 dan menghantar permintaan kepada 443 daripadanya, menulis semula url.
Sebagai kesimpulan, saya mengesyorkan menurunkan tahap pengelogan LSWS, yang ditetapkan kepada Nyahpepijat secara lalai. Dalam mod ini, log membiak pada kelajuan kilat! Untuk kebanyakan kes, tahap Amaran adalah mencukupi. Pergi ke Konfigurasi Pelayan > Log:
Ini melengkapkan konfigurasi OpenLiteSpeed sebagai proksi terbalik. Sekali lagi, mulakan semula LSWS, ikut pautan https://cloud.connect.link dan lihat:
Untuk membolehkan Nextcloud membenarkan kami masuk, kami perlu menambahkan domain cloud.connect.link pada senarai yang dipercayai. Jom edit config.php. Saya memasang Nextcloud secara automatik apabila memasang Ubuntu dan konfigurasi terletak di sini: /var/snap/nextcloud/current/nextcloud/config.
Tambahkan parameter 'cloud.connect.link' pada kunci trusted_domains:
Selanjutnya, dalam konfigurasi yang sama, anda mesti menyatakan alamat IP proksi kami. Saya menarik perhatian anda kepada fakta bahawa alamat mesti ditentukan yang boleh dilihat oleh pelayan Nextcloud, i.e. IP antara muka LSWS tempatan. Tanpa langkah ini, antara muka web Nextcloud berfungsi, tetapi aplikasi tidak dibenarkan.
'trusted_proxies' =>
susunan (
0 => '172.16.22.100',
),
Hebat, selepas itu kita boleh masuk ke antara muka kebenaran:
Masalah selesai! Kini setiap pelanggan boleh menggunakan "awan fail" dengan selamat di url peribadinya sendiri, pelayan dengan fail dipisahkan dari Internet, pelanggan masa depan akan menerima semuanya sama dan tidak ada satu pun alamat IP tambahan akan terjejas.
Selain itu, anda boleh menggunakan proksi terbalik untuk menyampaikan kandungan statik, tetapi dalam kes Nextcloud, ini tidak akan memberikan peningkatan yang ketara dalam kelajuan. Jadi ia adalah pilihan dan pilihan.
Sukacita saya berkongsi cerita ini, saya harap ia akan berguna kepada seseorang. Jika anda tahu kaedah yang lebih elegan dan cekap untuk menyelesaikan masalah, saya akan berterima kasih atas komen!