Дотоод сүлжээнд проксиг Nextcloud руу буцаахын тулд OpenLiteSpeed-г хэрхэн тохируулах вэ?
Гайхалтай нь, Habré дээр OpenLiteSpeed хайх нь юу ч өгөхгүй байна! LSWS бол зохистой вэб сервер учраас би энэ шударга бус байдлыг засах гэж яарч байна. Би үүнийг хурд, гоёмсог вэб удирдлагын интерфейсийн хувьд дуртай:
OpenLiteSpeed нь WordPress-ийн "хурдасгуур" гэдгээрээ хамгийн алдартай байсан ч өнөөдрийн нийтлэлд би түүний тодорхой хэрэглээг харуулах болно. Тухайлбал, хүсэлтийн урвуу прокси (урвуу прокси). Үүний тулд nginx ашиглах нь илүү түгээмэл гэж та хэлж байна уу? Би зөвшөөрнө. Гэхдээ бид LSWS-д дурласан нь маш их өвдөж байна!
Прокси хийх нь зүгээр, гэхдээ хаана? Үүнээс дутахгүй гайхалтай үйлчилгээ - Nextcloud. Бид хувийн "файл хуваалцах үүл" үүсгэхийн тулд Nextcloud ашигладаг. Үйлчлүүлэгч бүрийн хувьд бид Nextcloud-тай тусдаа VM-ийг хуваарилдаг бөгөөд бид тэдгээрийг "гадаа" харуулахыг хүсэхгүй байна. Үүний оронд бид нийтлэг урвуу прокси ашиглан прокси хүсэлт илгээдэг. Энэхүү шийдэл нь дараахь боломжийг олгоно.
1) Интернэтээс үйлчлүүлэгчийн өгөгдөл хадгалагдаж буй серверийг устгах ба
2) IP хаягийг хадгалах.
Энэ бүдүүвч нь иймэрхүү байна:
Схемийг хялбаршуулсан нь ойлгомжтой, учир нь вэб үйлчилгээний дэд бүтцийн зохион байгуулалт нь өнөөдрийн нийтлэлийн сэдэв биш юм.
Мөн энэ нийтлэлд би дараагийн үүлний суулгац болон үндсэн тохиргоог орхих болно, ялангуяа Хабред энэ сэдвээр материал байгаа тул. Гэхдээ би тохиргоог харуулах болно, үүнгүйгээр Nextcloud проксины ард ажиллахгүй.
Үүнд:
Nextcloud нь 1-р хост дээр суулгагдсан бөгөөд http (SSL-гүй) дээр ажиллахаар тохируулагдсан бөгөөд зөвхөн дотоод сүлжээний интерфейстэй бөгөөд 172.16.22.110 "саарал" IP хаягтай.
Хост 2 дээр OpenLiteSpeed-ийг тохируулцгаая. Энэ нь гадаад (Интернэтэд хардаг) болон дотоод гэсэн хоёр интерфэйстэй, 172.16.22.0/24 сүлжээнд IP хаягтай.
Хост 2-ын гадаад интерфейсийн IP хаяг нь cloud.connect.link DNS нэр юм
Даалгавар:
' холбоосоор интернетээс аваарай
- 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 менежментийг нээх
Өгөгдмөл нэвтрэх/нууц үг: админ/123456
Виртуал хост нэмнэ (Виртуал хостууд > Нэмэх).
Нэмэх үед алдааны мэдэгдэл гарч ирнэ - тохиргооны файл байхгүй байна. Энэ нь хэвийн зүйл бөгөөд үүсгэхийн тулд товшино уу.
"Ерөнхий" таб дээр Баримт бичгийн үндсийг зааж өгнө үү (хэдийгээр энэ нь шаардлагагүй ч үүнгүйгээр тохиргоо ажиллахгүй). Домэйн нэрийг, хэрэв заагаагүй бол бидний домайн нэрээр нэрлэсэн Виртуал хостын нэрээс авна.
Одоо бид зөвхөн вэб сервер биш, харин урвуу прокситэй гэдгийг санах цаг болжээ. Дараах тохиргоонууд нь LSWS-д юуг, хаана прокси хийхийг зааж өгнө. Виртуал хостын тохиргоонд Гадаад програмын табыг нээж, вэб серверийн төрлийн шинэ програм нэмнэ үү.
Нэр, хаягийг зааж өгнө үү. Та дур зоргоороо нэрийг зааж өгч болно, гэхдээ та үүнийг санаж байх хэрэгтэй, энэ нь дараагийн алхамуудад хэрэг болно. Энэ хаяг нь Nextcloud-ийн дотоод сүлжээнд амьдардаг хаяг юм.
Ижил виртуал хостын тохиргоонд Контекст табыг нээж, прокси төрлийн шинэ контекст үүсгэнэ үү.
Параметрүүдийг зааж өгнө үү: URI = /, Вэб сервер = nextcloud_1 (өмнөх алхамын нэр)
LSWS-г дахин эхлүүлнэ үү. Үүнийг вэб интерфэйсээс нэг товшилтоор хийдэг, гайхамшиг! (удамшлын хулгана тээгч миний дотор ярьдаг)
- Бид гэрчилгээг тавьж, https-ийг тохируулна уу.
Сертификат авах журам Бид үүнийг орхиж, бидэнд аль хэдийн байгаа гэдгээ хүлээн зөвшөөрч, түлхүүрийг /etc/letsencrypt/live/cloud.connect.link директорт оруулах болно.
"Сонсогч" (Сонсогчид > Нэмэх) үүсгэцгээе, үүнийг "https" гэж нэрлэе. Үүнийг 443 порт руу чиглүүлж, энэ нь аюулгүй байх болно гэдгийг анхаарна уу:
SSL таб дээр түлхүүр болон сертификат руу хүрэх замыг зааж өгнө үү:
"Сонсогч" үүсгэгдсэн, одоо Виртуал хостын зураглал хэсэгт бид виртуал хостоо нэмнэ:
Хэрэв LSWS зөвхөн нэг үйлчилгээнд прокси хийвэл тохиргоог хийж болно. Гэхдээ бид үүнийг домэйн нэрээс хамааран өөр өөр "инстанс" руу хүсэлт илгээхэд ашиглахаар төлөвлөж байна. Мөн бүх домэйнууд өөрийн гэсэн гэрчилгээтэй байх болно. Тиймээс та виртуал хостын тохиргоо руу орж, SSL таб дээр түүний түлхүүр болон гэрчилгээг дахин зааж өгөх хэрэгтэй. Ирээдүйд үүнийг шинэ виртуал хост бүрт хийх ёстой.
Http хүсэлтийг https руу чиглүүлэхийн тулд URL дахин бичих тохиргоог хийх хэрэгтэй.
(Дашрамд хэлэхэд, энэ нь хэзээ дуусах вэ? Хөтөч болон бусад программ хангамжийн хувьд анхдагчаар https руу орж, шаардлагатай бол SSL-гүй горим руу шилжүүлэх цаг болжээ).
Дахин бичихийг идэвхжүүлж, дахин бичих дүрмийг идэвхжүүлнэ үү:
RewriteCond %{SERVER_PORT} 80
Дахин бичих дүрэм ^(.*)$https://%{SERVER_NAME}%{REQUEST_URI } [R=301,L]
Хачирхалтай үл ойлголцлын улмаас дахин бичих дүрмийг ердийн Graceful дахин эхлүүлэхээр ашиглах боломжгүй байна. Тиймээс бид LSWS-ийг эелдэг байдлаар биш, бүдүүлэг, үр дүнтэйгээр дахин эхлүүлэх болно:
sudo systemctl lsws.service-г дахин эхлүүлнэ үү
Сервер 80-р портыг сонсохын тулд өөр Сонсогч үүсгэцгээе. Үүнийг http гэж нэрлээд 80-р портыг зааж өгөөд, энэ нь аюулгүй биш байх болно:
https сонсогчийн тохиргоотой адилтгаж виртуал хостоо түүнд хавсаргая.
Одоо LSWS нь 80-р портыг сонсож, түүнээс 443 руу хүсэлт илгээж, url-г дахин бичих болно.
Дүгнэж хэлэхэд би анхдагчаар дибаг гэж тохируулсан LSWS бүртгэлийн түвшинг бууруулахыг зөвлөж байна. Энэ горимд логууд аянгын хурдаар үрждэг! Ихэнх тохиолдолд анхааруулах түвшин хангалттай байдаг. Серверийн тохиргоо > Бүртгэл рүү очно уу:
Энэ нь OpenLiteSpeed-ийг урвуу прокси болгон тохируулж дуусгана. Дахин нэг удаа LSWS-г дахин эхлүүлээд холбоосыг дагана уу
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',
),
Цаашилбал, ижил тохиргоонд та манай проксигийн IP хаягийг зааж өгөх ёстой. Би таны анхаарлыг Nextcloud серверт харагдах хаягаар зааж өгөх ёстой, өөрөөр хэлбэл. Орон нутгийн LSWS интерфейсийн IP. Энэ алхамгүйгээр Nextcloud вэб интерфэйс ажиллах боловч програмуудыг зөвшөөрөхгүй.
'trusted_proxies' =>
массив (
0 => '172.16.22.100',
),
Гайхалтай, үүний дараа бид зөвшөөрлийн интерфейс рүү орж болно:
Асуудал шийдэгдэж! Одоо үйлчлүүлэгч бүр "файлын үүл" -ийг өөрийн хувийн url дээр аюулгүй ашиглах боломжтой, файл бүхий сервер нь интернетээс тусгаарлагдсан, ирээдүйн үйлчлүүлэгчид бүгдийг ижил хүлээн авах бөгөөд нэг ч нэмэлт IP хаяг нөлөөлөхгүй.
Нэмж дурдахад та статик контентыг дамжуулахын тулд урвуу прокси ашиглаж болно, гэхдээ Nextcloud-ийн хувьд энэ нь хурдыг мэдэгдэхүйц нэмэгдүүлэхгүй. Тиймээс энэ нь сонголттой бөгөөд сонголттой байдаг.
Энэ түүхийг хуваалцаж байгаадаа баяртай байна, хэн нэгэнд хэрэг болно гэж найдаж байна. Хэрэв та асуудлыг шийдэх илүү гоёмсог, үр дүнтэй аргуудыг мэддэг бол би сэтгэгдэлд талархах болно!
Эх сурвалж: www.habr.com