OpenLiteSpeed ​​дотор болон гадна талын Nextcloud: урвуу проксиг тохируулах

Дотоод сүлжээнд проксиг Nextcloud руу буцаахын тулд OpenLiteSpeed-г хэрхэн тохируулах вэ?

Гайхалтай нь, Habré дээр OpenLiteSpeed ​​хайх нь юу ч өгөхгүй байна! LSWS бол зохистой вэб сервер учраас би энэ шударга бус байдлыг засах гэж яарч байна. Би үүнийг хурд, гоёмсог вэб удирдлагын интерфейсийн хувьд дуртай:

OpenLiteSpeed ​​дотор болон гадна талын Nextcloud: урвуу проксиг тохируулах

OpenLiteSpeed ​​нь WordPress-ийн "хурдасгуур" гэдгээрээ хамгийн алдартай байсан ч өнөөдрийн нийтлэлд би түүний тодорхой хэрэглээг харуулах болно. Тухайлбал, хүсэлтийн урвуу прокси (урвуу прокси). Үүний тулд nginx ашиглах нь илүү түгээмэл гэж та хэлж байна уу? Би зөвшөөрнө. Гэхдээ бид LSWS-д дурласан нь маш их өвдөж байна!

Прокси хийх нь зүгээр, гэхдээ хаана? Үүнээс дутахгүй гайхалтай үйлчилгээ - Nextcloud. Бид хувийн "файл хуваалцах үүл" үүсгэхийн тулд Nextcloud ашигладаг. Үйлчлүүлэгч бүрийн хувьд бид Nextcloud-тай тусдаа VM-ийг хуваарилдаг бөгөөд бид тэдгээрийг "гадаа" харуулахыг хүсэхгүй байна. Үүний оронд бид нийтлэг урвуу прокси ашиглан прокси хүсэлт илгээдэг. Энэхүү шийдэл нь дараахь боломжийг олгоно.
1) Интернэтээс үйлчлүүлэгчийн өгөгдөл хадгалагдаж буй серверийг устгах ба
2) IP хаягийг хадгалах.

Энэ бүдүүвч нь иймэрхүү байна:

OpenLiteSpeed ​​дотор болон гадна талын Nextcloud: урвуу проксиг тохируулах

Схемийг хялбаршуулсан нь ойлгомжтой, учир нь вэб үйлчилгээний дэд бүтцийн зохион байгуулалт нь өнөөдрийн нийтлэлийн сэдэв биш юм.

Мөн энэ нийтлэлд би дараагийн үүлний суулгац болон үндсэн тохиргоог орхих болно, ялангуяа Хабред энэ сэдвээр материал байгаа тул. Гэхдээ би тохиргоог харуулах болно, үүнгүйгээр Nextcloud проксины ард ажиллахгүй.

Үүнд:
Nextcloud нь 1-р хост дээр суулгагдсан бөгөөд http (SSL-гүй) дээр ажиллахаар тохируулагдсан бөгөөд зөвхөн дотоод сүлжээний интерфейстэй бөгөөд 172.16.22.110 "саарал" IP хаягтай.
Хост 2 дээр OpenLiteSpeed-ийг тохируулцгаая. Энэ нь гадаад (Интернэтэд хардаг) болон дотоод гэсэн хоёр интерфэйстэй, 172.16.22.0/24 сүлжээнд IP хаягтай.
Хост 2-ын гадаад интерфейсийн IP хаяг нь cloud.connect.link DNS нэр юм

Даалгавар:
' холбоосоор интернетээс аваарайhttps://cloud.connect.link' (SSL) дотоод сүлжээнд Nextcloud руу шилжүүлнэ.

  • Ubuntu 18.04.2 дээр OpenLiteSpeed ​​суулгаж байна.

Хадгалах газар нэмье:

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

суулгах, ажиллуулах:

sudo apt-get openlitespeed суулгана
sudo /usr/local/lsws/bin/lswsctrl эхлүүлэх

  • Хамгийн бага галт ханын тохиргоо.

    sudo ufw нь ssh-г зөвшөөрөх
    sudo ufw анхдагч нь гадагш гарахыг зөвшөөрдөг
    sudo ufw анхдагч нь ирж буйг үгүйсгэдэг
    sudo ufw allow http
    sudo ufw зөвшөөрөхhttps
    sudo ufw зөвшөөрнө таны удирдлагын хост дурын порт руу 7080
    sudo ufw enable

  • OpenLiteSpeed-ийг урвуу прокси болгон тохируулна уу.
    Виртуал хостын доор лавлахуудыг үүсгэцгээе.

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

LSWS вэб интерфэйсээс виртуал хостыг тохируулцгаая.
URL менежментийг нээх http://cloud.connect.link:7080
Өгөгдмөл нэвтрэх/нууц үг: админ/123456

OpenLiteSpeed ​​дотор болон гадна талын Nextcloud: урвуу проксиг тохируулах

Виртуал хост нэмнэ (Виртуал хостууд > Нэмэх).
Нэмэх үед алдааны мэдэгдэл гарч ирнэ - тохиргооны файл байхгүй байна. Энэ нь хэвийн зүйл бөгөөд үүсгэхийн тулд товшино уу.

OpenLiteSpeed ​​дотор болон гадна талын Nextcloud: урвуу проксиг тохируулах

"Ерөнхий" таб дээр Баримт бичгийн үндсийг зааж өгнө үү (хэдийгээр энэ нь шаардлагагүй ч үүнгүйгээр тохиргоо ажиллахгүй). Домэйн нэрийг, хэрэв заагаагүй бол бидний домайн нэрээр нэрлэсэн Виртуал хостын нэрээс авна.

OpenLiteSpeed ​​дотор болон гадна талын Nextcloud: урвуу проксиг тохируулах

Одоо бид зөвхөн вэб сервер биш, харин урвуу прокситэй гэдгийг санах цаг болжээ. Дараах тохиргоонууд нь LSWS-д юуг, хаана прокси хийхийг зааж өгнө. Виртуал хостын тохиргоонд Гадаад програмын табыг нээж, вэб серверийн төрлийн шинэ програм нэмнэ үү.

OpenLiteSpeed ​​дотор болон гадна талын Nextcloud: урвуу проксиг тохируулах

Нэр, хаягийг зааж өгнө үү. Та дур зоргоороо нэрийг зааж өгч болно, гэхдээ та үүнийг санаж байх хэрэгтэй, энэ нь дараагийн алхамуудад хэрэг болно. Энэ хаяг нь Nextcloud-ийн дотоод сүлжээнд амьдардаг хаяг юм.

OpenLiteSpeed ​​дотор болон гадна талын Nextcloud: урвуу проксиг тохируулах

Ижил виртуал хостын тохиргоонд Контекст табыг нээж, прокси төрлийн шинэ контекст үүсгэнэ үү.

OpenLiteSpeed ​​дотор болон гадна талын Nextcloud: урвуу проксиг тохируулах

Параметрүүдийг зааж өгнө үү: URI = /, Вэб сервер = nextcloud_1 (өмнөх алхамын нэр)

OpenLiteSpeed ​​дотор болон гадна талын Nextcloud: урвуу проксиг тохируулах

LSWS-г дахин эхлүүлнэ үү. Үүнийг вэб интерфэйсээс нэг товшилтоор хийдэг, гайхамшиг! (удамшлын хулгана тээгч миний дотор ярьдаг)

OpenLiteSpeed ​​дотор болон гадна талын Nextcloud: урвуу проксиг тохируулах
OpenLiteSpeed ​​дотор болон гадна талын Nextcloud: урвуу проксиг тохируулах

  • Бид гэрчилгээг тавьж, https-ийг тохируулна уу.
    Сертификат авах журам Бид үүнийг орхиж, бидэнд аль хэдийн байгаа гэдгээ хүлээн зөвшөөрч, түлхүүрийг /etc/letsencrypt/live/cloud.connect.link директорт оруулах болно.

"Сонсогч" (Сонсогчид > Нэмэх) үүсгэцгээе, үүнийг "https" гэж нэрлэе. Үүнийг 443 порт руу чиглүүлж, энэ нь аюулгүй байх болно гэдгийг анхаарна уу:

OpenLiteSpeed ​​дотор болон гадна талын Nextcloud: урвуу проксиг тохируулах

SSL таб дээр түлхүүр болон сертификат руу хүрэх замыг зааж өгнө үү:

OpenLiteSpeed ​​дотор болон гадна талын Nextcloud: урвуу проксиг тохируулах

"Сонсогч" үүсгэгдсэн, одоо Виртуал хостын зураглал хэсэгт бид виртуал хостоо нэмнэ:

OpenLiteSpeed ​​дотор болон гадна талын Nextcloud: урвуу проксиг тохируулах

Хэрэв LSWS зөвхөн нэг үйлчилгээнд прокси хийвэл тохиргоог хийж болно. Гэхдээ бид үүнийг домэйн нэрээс хамааран өөр өөр "инстанс" руу хүсэлт илгээхэд ашиглахаар төлөвлөж байна. Мөн бүх домэйнууд өөрийн гэсэн гэрчилгээтэй байх болно. Тиймээс та виртуал хостын тохиргоо руу орж, SSL таб дээр түүний түлхүүр болон гэрчилгээг дахин зааж өгөх хэрэгтэй. Ирээдүйд үүнийг шинэ виртуал хост бүрт хийх ёстой.

OpenLiteSpeed ​​дотор болон гадна талын Nextcloud: урвуу проксиг тохируулах

Http хүсэлтийг https руу чиглүүлэхийн тулд URL дахин бичих тохиргоог хийх хэрэгтэй.
(Дашрамд хэлэхэд, энэ нь хэзээ дуусах вэ? Хөтөч болон бусад программ хангамжийн хувьд анхдагчаар https руу орж, шаардлагатай бол SSL-гүй горим руу шилжүүлэх цаг болжээ).
Дахин бичихийг идэвхжүүлж, дахин бичих дүрмийг идэвхжүүлнэ үү:

RewriteCond %{SERVER_PORT} 80
Дахин бичих дүрэм ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

OpenLiteSpeed ​​дотор болон гадна талын Nextcloud: урвуу проксиг тохируулах

Хачирхалтай үл ойлголцлын улмаас дахин бичих дүрмийг ердийн Graceful дахин эхлүүлэхээр ашиглах боломжгүй байна. Тиймээс бид LSWS-ийг эелдэг байдлаар биш, бүдүүлэг, үр дүнтэйгээр дахин эхлүүлэх болно:

sudo systemctl lsws.service-г дахин эхлүүлнэ үү

Сервер 80-р портыг сонсохын тулд өөр Сонсогч үүсгэцгээе. Үүнийг http гэж нэрлээд 80-р портыг зааж өгөөд, энэ нь аюулгүй биш байх болно:

OpenLiteSpeed ​​дотор болон гадна талын Nextcloud: урвуу проксиг тохируулах

https сонсогчийн тохиргоотой адилтгаж виртуал хостоо түүнд хавсаргая.

Одоо LSWS нь 80-р портыг сонсож, түүнээс 443 руу хүсэлт илгээж, url-г дахин бичих болно.
Дүгнэж хэлэхэд би анхдагчаар дибаг гэж тохируулсан LSWS бүртгэлийн түвшинг бууруулахыг зөвлөж байна. Энэ горимд логууд аянгын хурдаар үрждэг! Ихэнх тохиолдолд анхааруулах түвшин хангалттай байдаг. Серверийн тохиргоо > Бүртгэл рүү очно уу:

OpenLiteSpeed ​​дотор болон гадна талын Nextcloud: урвуу проксиг тохируулах

Энэ нь OpenLiteSpeed-ийг урвуу прокси болгон тохируулж дуусгана. Дахин нэг удаа LSWS-г дахин эхлүүлээд холбоосыг дагана уу https://cloud.connect.link мөн бид харж байна:

OpenLiteSpeed ​​дотор болон гадна талын Nextcloud: урвуу проксиг тохируулах

Nextcloud биднийг оруулахын тулд бид cloud.connect.link домайныг итгэмжлэгдсэн жагсаалтад нэмэх хэрэгтэй. Config.php-г засъя. Ubuntu-г суулгахдаа би Nextcloud-г автоматаар суулгасан ба тохиргоо энд байна: /var/snap/nextcloud/current/nextcloud/config.
'cloud.connect.link' параметрийг итгэмжлэгдсэн_домайн түлхүүрт нэмнэ үү:

'trusted_domains' =>
массив (
0 => '172.16.22.110',
1 => 'cloud.connect.link',
),

OpenLiteSpeed ​​дотор болон гадна талын Nextcloud: урвуу проксиг тохируулах

Цаашилбал, ижил тохиргоонд та манай проксигийн IP хаягийг зааж өгөх ёстой. Би таны анхаарлыг Nextcloud серверт харагдах хаягаар зааж өгөх ёстой, өөрөөр хэлбэл. Орон нутгийн LSWS интерфейсийн IP. Энэ алхамгүйгээр Nextcloud вэб интерфэйс ажиллах боловч програмуудыг зөвшөөрөхгүй.

'trusted_proxies' =>
массив (
0 => '172.16.22.100',
),

Гайхалтай, үүний дараа бид зөвшөөрлийн интерфейс рүү орж болно:

OpenLiteSpeed ​​дотор болон гадна талын Nextcloud: урвуу проксиг тохируулах

Асуудал шийдэгдэж! Одоо үйлчлүүлэгч бүр "файлын үүл" -ийг өөрийн хувийн url дээр аюулгүй ашиглах боломжтой, файл бүхий сервер нь интернетээс тусгаарлагдсан, ирээдүйн үйлчлүүлэгчид бүгдийг ижил хүлээн авах бөгөөд нэг ч нэмэлт IP хаяг нөлөөлөхгүй.
Нэмж дурдахад та статик контентыг дамжуулахын тулд урвуу прокси ашиглаж болно, гэхдээ Nextcloud-ийн хувьд энэ нь хурдыг мэдэгдэхүйц нэмэгдүүлэхгүй. Тиймээс энэ нь сонголттой бөгөөд сонголттой байдаг.

Энэ түүхийг хуваалцаж байгаадаа баяртай байна, хэн нэгэнд хэрэг болно гэж найдаж байна. Хэрэв та асуудлыг шийдэх илүү гоёмсог, үр дүнтэй аргуудыг мэддэг бол би сэтгэгдэлд талархах болно!

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх