OpenLiteSpeed ​​daxilində və xaricində Nextcloud: əks proksiləşdirmənin qurulması

Daxili şəbəkədə proxy-ni Nextcloud-a dəyişdirmək üçün OpenLiteSpeed-i necə qura bilərəm?

Təəccüblüdür ki, Habré-də OpenLiteSpeed ​​üçün axtarış heç nə vermir! Mən bu ədalətsizliyi düzəltməyə tələsirəm, çünki LSWS layiqli veb serverdir. Mən onu sürəti və zərif veb idarəetmə interfeysi üçün sevirəm:

OpenLiteSpeed ​​daxilində və xaricində Nextcloud: əks proksiləşdirmənin qurulması

OpenLiteSpeed ​​ən çox WordPress "sürətləndiricisi" kimi məşhur olsa da, bugünkü məqalədə mən onun kifayət qədər konkret istifadəsini göstərəcəyəm. Məhz sorğuların əks proxyləşdirilməsi (əks proxy). Bunun üçün nginx-dən istifadə etməyin daha çox olduğunu deyirsiniz? razılaşacam. Amma LSWS-ə aşiq olduğumuz üçün çox ağrıyırıq!

Proxyinq yaxşıdır, amma harada? Daha az gözəl xidmətdə - Nextcloud. Şəxsi "fayl paylaşma buludları" yaratmaq üçün Nextcloud-dan istifadə edirik. Hər bir müştəri üçün Nextcloud ilə ayrıca VM ayırırıq və biz onları “kənarda” ifşa etmək istəmirik. Bunun əvəzinə biz ümumi əks proxy vasitəsilə proksi sorğuları göndəririk. Bu həll imkan verir:
1) müştəri məlumatlarının saxlandığı serveri İnternetdən çıxarın və
2) ip ünvanlarını yadda saxla.

Diaqram belə görünür:

OpenLiteSpeed ​​daxilində və xaricində Nextcloud: əks proksiləşdirmənin qurulması

Aydındır ki, sxem sadələşdirilmişdir, çünki veb xidmətləri infrastrukturunun təşkili bugünkü məqalənin mövzusu deyil.

Həmçinin bu yazıda növbəti buludun quraşdırılmasını və əsas konfiqurasiyasını buraxacağam, xüsusən də Habré-də bu mövzuda materiallar var. Amma mən mütləq parametrləri göstərəcəyəm, onsuz Nextcloud proksi arxasında işləməyəcək.

Verilənlər:
Nextcloud 1-ci hostda quraşdırılıb və http üzərindən işləmək üçün konfiqurasiya edilib (SSL olmadan), yalnız yerli şəbəkə interfeysinə və 172.16.22.110 "boz" IP ünvanına malikdir.
OpenLiteSpeed-i host 2-də konfiqurasiya edək. Onun iki interfeysi var, xarici (İnternetə baxır) və daxili şəbəkədə IP ünvanı 172.16.22.0/24
Host 2-nin xarici interfeys IP ünvanı DNS adı cloud.connect.link-dir

Vəzifə:
' linki vasitəsilə internetdən alınhttps://cloud.connect.link' (SSL) daxili şəbəkədə Nextcloud-a.

  • Ubuntu 18.04.2-də OpenLiteSpeed-in quraşdırılması.

Bir anbar əlavə edək:

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

quraşdırın, işlədin:

sudo apt-get openlitespeed quraşdırın
sudo /usr/local/lsws/bin/lswsctrl başlayın

  • Minimal firewall quraşdırması.

    sudo ufw ssh -ə icazə verin
    sudo ufw default çıxışa icazə verir
    sudo ufw default olaraq gələnləri rədd edir
    sudo ufw httpya icazə verir
    sudo ufw icazə https
    sudo ufw icazə verir idarəçiliyiniz istənilən port 7080
    sudo ufw imkan verir

  • OpenLiteSpeed-i tərs proxy kimi qurun.
    Virtual hostun altında kataloqlar yaradaq.

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

LSWS veb interfeysindən virtual hostu konfiqurasiya edək.
URL idarəçiliyini açın http://cloud.connect.link:7080
Defolt giriş/parol: admin/123456

OpenLiteSpeed ​​daxilində və xaricində Nextcloud: əks proksiləşdirmənin qurulması

Virtual host əlavə edin (Virtual Hostlar > Əlavə et).
Əlavə edərkən bir səhv mesajı görünəcək - konfiqurasiya faylı yoxdur. Bu normaldır, yaratmaq üçün klikləməklə həll olunur.

OpenLiteSpeed ​​daxilində və xaricində Nextcloud: əks proksiləşdirmənin qurulması

Ümumi sekmesinde Sənəd Kökünü göstərin (lazım olmasa da, konfiqurasiya onsuz işləməyəcək). Domen Adı, göstərilmədiyi təqdirdə, bizim domen adını verdiyimiz Virtual Host Adından götürüləcək.

OpenLiteSpeed ​​daxilində və xaricində Nextcloud: əks proksiləşdirmənin qurulması

İndi sadəcə bir veb serverimiz deyil, əks proxy-nin olduğunu xatırlamağın vaxtı gəldi. Aşağıdakı parametrlər LSWS-ə nəyi və harada proxy verəcəyini söyləyəcək. Virtual host parametrlərində Xarici Proqramlar sekmesini açın və Veb server tipli yeni proqram əlavə edin:

OpenLiteSpeed ​​daxilində və xaricində Nextcloud: əks proksiləşdirmənin qurulması

Ad və ünvanı göstərin. Siz ixtiyari bir ad təyin edə bilərsiniz, ancaq onu yadda saxlamaq lazımdır, növbəti addımlarda faydalı olacaq. Ünvan Nextcloud-un daxili şəbəkədə yaşadığı ünvandır:

OpenLiteSpeed ​​daxilində və xaricində Nextcloud: əks proksiləşdirmənin qurulması

Eyni virtual host parametrlərində Kontekst sekmesini açın və Proksi tipli yeni kontekst yaradın:

OpenLiteSpeed ​​daxilində və xaricində Nextcloud: əks proksiləşdirmənin qurulması

Parametrləri göstərin: URI = /, Veb server = nextcloud_1 (əvvəlki addımdan ad)

OpenLiteSpeed ​​daxilində və xaricində Nextcloud: əks proksiləşdirmənin qurulması

LSWS-i yenidən başladın. Bu, veb interfeysindən bir kliklə edilir, möcüzələr! (irsi siçan daşıyıcısı məndə danışır)

OpenLiteSpeed ​​daxilində və xaricində Nextcloud: əks proksiləşdirmənin qurulması
OpenLiteSpeed ​​daxilində və xaricində Nextcloud: əks proksiləşdirmənin qurulması

  • Sertifikat qoyduq, https-i konfiqurasiya etdik.
    Sertifikatın alınması proseduru biz onu buraxacağıq, artıq bizdə olduğuna razılaşacağıq və /etc/letsencrypt/live/cloud.connect.link qovluğunda açarla yatacağıq.

Gəlin "dinləyici" yaradaq (Listeners > Add), onu "https" adlandıraq. Onu 443 portuna yönəldin və onun Təhlükəsiz olacağını qeyd edin:

OpenLiteSpeed ​​daxilində və xaricində Nextcloud: əks proksiləşdirmənin qurulması

SSL sekmesinde açara və sertifikata gedən yolu göstərin:

OpenLiteSpeed ​​daxilində və xaricində Nextcloud: əks proksiləşdirmənin qurulması

“Dinləyici” yaradıldı, indi Virtual Host Xəritələri bölməsində ona virtual hostumuzu əlavə edəcəyik:

OpenLiteSpeed ​​daxilində və xaricində Nextcloud: əks proksiləşdirmənin qurulması

LSWS yalnız bir xidmətə proksi verərsə, konfiqurasiya tamamlana bilər. Lakin biz ondan domen adından asılı olaraq müxtəlif “instansiyalara” sorğu göndərmək üçün istifadə etməyi planlaşdırırıq. Və bütün domenlərin öz sertifikatları olacaq. Buna görə də, virtual host konfiqurasiyasına keçməli və SSL sekmesinde onun açarını və sertifikatını yenidən göstərməlisiniz. Gələcəkdə bu, hər yeni virtual host üçün edilməlidir.

OpenLiteSpeed ​​daxilində və xaricində Nextcloud: əks proksiləşdirmənin qurulması

Http sorğularının https-ə ünvanlanması üçün URL-nin yenidən yazılmasını konfiqurasiya etmək qalır.
(Yeri gəlmişkən, bu nə vaxt bitəcək? Brauzerlərin və digər proqram təminatının defolt olaraq https-ə keçməsinin və lazım gələrsə, əl ilə no-SSL-ə yönləndirilməsinin vaxtıdır).
Yenidən yazmağı aktivləşdirin və Yenidən Yazma Qaydalarını yazın:

RewriteCond %{SERVER_PORT} 80
Yenidən Yazma Qaydası ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

OpenLiteSpeed ​​daxilində və xaricində Nextcloud: əks proksiləşdirmənin qurulması

Qəribə anlaşılmazlığa görə, adi Graceful yenidən işə salınması ilə Yenidən Yazma qaydalarını tətbiq etmək mümkün deyil. Buna görə də, biz LSWS-ni nəzakətlə deyil, kobud və səmərəli şəkildə yenidən başladacağıq:

sudo systemctl lsws.service-i yenidən başladın

Serverin 80-ci portu dinləməsi üçün başqa Dinləyici yaradaq. Gəlin onu http adlandıraq, 80-ci portu göstərək və o, təhlükəsiz olmayacaq:

OpenLiteSpeed ​​daxilində və xaricində Nextcloud: əks proksiləşdirmənin qurulması

https dinləyici parametrinə bənzətməklə, gəlin virtual hostumuzu ona əlavə edək.

İndi LSWS 80-ci portu dinləyəcək və ondan 443-ə sorğu göndərəcək, url-i yenidən yazacaq.
Yekun olaraq, defolt olaraq Debug olaraq təyin edilmiş LSWS giriş səviyyəsini aşağı salmağı tövsiyə edirəm. Bu rejimdə loglar ildırım sürəti ilə çoxalır! Əksər hallarda Xəbərdarlıq səviyyəsi kifayətdir. Server Konfiqurasiyası > Qeydə keçin:

OpenLiteSpeed ​​daxilində və xaricində Nextcloud: əks proksiləşdirmənin qurulması

Bu, OpenLiteSpeed-in əks proxy kimi konfiqurasiyasını tamamlayır. Bir daha LSWS-i yenidən başladın, linki izləyin https://cloud.connect.link və baxın:

OpenLiteSpeed ​​daxilində və xaricində Nextcloud: əks proksiləşdirmənin qurulması

Nextcloud-un bizə daxil olmasına icazə vermək üçün cloud.connect.link domenini etibarlı siyahıya əlavə etməliyik. Gəlin config.php-ni redaktə edək. Ubuntu quraşdırarkən Nextcloud-u avtomatik quraşdırdım və konfiqurasiya burada yerləşir: /var/snap/nextcloud/current/nextcloud/config.
"cloud.connect.link" parametrini etibarlı_domain açarına əlavə edin:

'trusted_domains' =>
serial (
0 => '172.16.22.110',
1 => 'cloud.connect.link',
),

OpenLiteSpeed ​​daxilində və xaricində Nextcloud: əks proksiləşdirmənin qurulması

Bundan əlavə, eyni konfiqurasiyada proxy-nin IP ünvanını göstərməlisiniz. Diqqətinizi ona yönəldirəm ki, ünvan Nextcloud serverinə görünən ünvan göstərilməlidir, yəni. Yerli LSWS interfeysinin IP-si. Bu addım olmadan Nextcloud veb interfeysi işləyir, lakin tətbiqlərə icazə verilmir.

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

Əla, bundan sonra avtorizasiya interfeysinə daxil ola bilərik:

OpenLiteSpeed ​​daxilində və xaricində Nextcloud: əks proksiləşdirmənin qurulması

Problem həll edildi! İndi hər bir müştəri "fayl buludundan" öz şəxsi URL ünvanında etibarlı şəkildə istifadə edə bilər, faylları olan server İnternetdən ayrılır, gələcək müştərilər hər şeyi eyni şəkildə alacaqlar və heç bir əlavə IP ünvanı təsirlənməyəcək.
Bundan əlavə, statik məzmunu çatdırmaq üçün əks proxy-dən istifadə edə bilərsiniz, lakin Nextcloud vəziyyətində bu, sürətdə nəzərəçarpacaq artım olmayacaq. Beləliklə, isteğe bağlıdır və isteğe bağlıdır.

Bu hekayəni paylaşmaqdan məmnunam, ümid edirəm kiməsə faydalı olar. Problemi həll etmək üçün daha zərif və effektiv üsulları bilirsinizsə, şərhlərə görə minnətdar olacağam!

Mənbə: www.habr.com

Добавить комментарий