Nextcloud Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π° снаруТи OpenLiteSpeed: настраиваСм ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ проксированиС

Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ OpenLiteSpeed Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ проксированиС Π² Nextcloud, находящийся Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ сСти?

Π£Π΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π½ΠΎ поиск Π½Π° Π₯Π°Π±Ρ€Π΅ ΠΏΠΎ запросу OpenLiteSpeed Π½Π΅ Π΄Π°Ρ‘Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ! Π‘ΠΏΠ΅ΡˆΡƒ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ эту Π½Π΅ΡΠΏΡ€Π°Π²Π΅Π΄Π»ΠΈΠ²ΠΎΡΡ‚ΡŒ, вСдь LSWS – достойный Π²Π΅Π±-сСрвСр. Π― люблю Π΅Π³ΠΎ Π·Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ ΠΌΠΎΠ΄Π½Ρ‹ΠΉ Π²Π΅Π±-интСрфСйс администрирования:

Nextcloud Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π° снаруТи OpenLiteSpeed: настраиваСм ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ проксированиС

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ OpenLiteSpeed Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π½Π°ΠΌΠ΅Π½ΠΈΡ‚ ΠΊΠ°ΠΊ Β«ΡƒΡΠΊΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΒ» вордпрСса, Π² сСгодняшнСй ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΠΎΠΊΠ°ΠΆΡƒ довольно спСцифичноС Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅. А ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ проксированиС запросов (reverse proxy). Π’Ρ‹ скаТСтС, Ρ‡Ρ‚ΠΎ для этого ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ nginx? Π― ΡΠΎΠ³Π»Π°ΡˆΡƒΡΡŒ. Но больно ΡƒΠΆ Π½Π°ΠΌ полюбился LSWS!

ΠŸΡ€ΠΎΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΊ, Π½ΠΎ ΠΊΡƒΠ΄Π°? Π’ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ сСрвис – Nextcloud. ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Nextcloud для создания частных Β«Ρ„Π°ΠΉΠ»ΠΎΠΎΠ±ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ±Π»Π°ΠΊΠΎΠ²Β». Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΌΡ‹ выдСляСм ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ VM с Nextcloud, ΠΈ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΠΌ Π²Ρ‹ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈΡ… Β«Π½Π°Ρ€ΡƒΠΆΡƒΒ». ВмСсто этого ΠΌΡ‹ проксируСм запросы Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±Ρ‰ΠΈΠΉ reverse proxy. Π­Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ позволяСт:
1) ΡƒΠ±Ρ€Π°Ρ‚ΡŒ сСрвСр, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранятся Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΈΠ· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° ΠΈ
2) ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ ip-адрСса.

Π‘Ρ…Π΅ΠΌΠ° выглядит Ρ‚Π°ΠΊ:

Nextcloud Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π° снаруТи OpenLiteSpeed: настраиваСм ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ проксированиС

ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ схСма ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π°, Ρ‚.ΠΊ. организация инфраструктуры Π²Π΅Π±-сСрвисов – Π½Π΅ Ρ‚Π΅ΠΌΠ° сСгодняшнСй ΡΡ‚Π°Ρ‚ΡŒΠΈ.

Π’Π°ΠΊΠΆΠ΅ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΎΠΏΡƒΡ‰Ρƒ установку ΠΈ Π±Π°Π·ΠΎΠ²ΡƒΡŽ настройку нСкстклауда, Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Ρ‡Ρ‚ΠΎ Π½Π° Π₯Π°Π±Ρ€Π΅ Π΅ΡΡ‚ΡŒ посвящённыС этой Ρ‚Π΅ΠΌΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹. Но ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠΊΠ°ΠΆΡƒ настройки, Π±Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Nextcloud Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π·Π° прокси.

Π”Π°Π½ΠΎ:
Nextcloud установлСн Π½Π° хостС 1 ΠΈ настроСн Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ http (Π±Π΅Π· SSL), ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ сСтСвой интСрфСйс ΠΈ «сСрый» IP-адрСс 172.16.22.110.
Настроим OpenLiteSpeed Π½Π° хостС 2. Π£ Π½Π΅Π³ΠΎ Π΄Π²Π° интСрфСйса, внСшний (смотрит Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚) ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ с IP-адрСсом Π² сСти 172.16.22.0/24
На IP-адрСс внСшнСго интСрфСйса хоста 2 Π²Π΅Π΄Π΅Ρ‚ DNS-имя cloud.connect.link

Π—Π°Π΄Π°Ρ‡Π°:
ΠŸΠΎΠΏΠ°Π΄Π°Ρ‚ΡŒ ΠΈΠ· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° ΠΏΠΎ ссылкС ‘https://cloud.connect.link‘ (SSL) Π½Π° Nextcloud Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ сСти.

  • УстанавливаСм OpenLiteSpeed Π½Π° Ubuntu 18.04.2.

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ:

wget -O β€” http://rpms.litespeedtech.com/debian/enable_lst_debain_repo.sh |sudo bash
sudo apt-get update

ставим, запускаСм:

sudo apt-get install openlitespeed
sudo /usr/local/lsws/bin/lswsctrl start

  • Минимально настроим Ρ„Π°ΠΉΡ€Π²ΠΎΠ»Π».

    sudo ufw allow ssh
    sudo ufw default allow outgoing
    sudo ufw default deny incoming
    sudo ufw allow http
    sudo ufw allow https
    sudo ufw allow from ваш хост управлСния to any port 7080
    sudo ufw enable

  • Настроим OpenLiteSpeed as a reverse proxy.
    Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΠΎΠ΄ виртуалхост.

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

Настроим виртуалхост ΠΈΠ· Π²Π΅Π±-интСрфСйса LSWS.
ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ‚ ΡƒΡ€Π» http://cloud.connect.link:7080
Π”Π΅Ρ„ΠΎΠ»Ρ‚Π½Ρ‹ΠΉ Π»ΠΎΠ³ΠΈΠ½/ΠΏΠ°Ρ€ΠΎΠ»ΡŒ: admin/123456

Nextcloud Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π° снаруТи OpenLiteSpeed: настраиваСм ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ проксированиС

ДобавляСм виртуалхост (Virtual Hosts > Add).
ΠŸΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ появится сообщСниС ΠΎΠ± ошибкС – отсутствии ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Π­Ρ‚ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Click to create.

Nextcloud Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π° снаруТи OpenLiteSpeed: настраиваСм ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ проксированиС

Π’ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ General ΡƒΠΊΠ°ΠΆΠ΅ΠΌ Document Root (Ρ…ΠΎΡ‚ΡŒ ΠΎΠ½ ΠΈ Π½Π΅ понадобится, Π±Π΅Π· Π½Π΅Π³ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ Π½Π΅ Π²Π·Π»Π΅Ρ‚ΠΈΡ‚). Domain Name, Ссли Π΅Π³ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, Π±ΡƒΠ΄Π΅Ρ‚ взят ΠΈΠ· Virtual Host Name, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π½Π°Π·Π²Π°Π»ΠΈ ΠΈΠΌΠ΅Π½Π΅ΠΌ нашСго Π΄ΠΎΠΌΠ΅Π½Π°.

Nextcloud Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π° снаруТи OpenLiteSpeed: настраиваСм ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ проксированиС

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΡ€Π° Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π½Π΅ просто Π²Π΅Π±-сСрвСр, Π° reverse proxy. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ настройки ΡƒΠΊΠ°ΠΆΡƒΡ‚ LSWS, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΊΡƒΠ΄Π°. Π’ настройках виртуалхоста ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ External App ΠΈ добавляСм Π½ΠΎΠ²ΡƒΡŽ Π°ΠΏΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡŽ Ρ‚ΠΈΠΏΠ° Web server:

Nextcloud Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π° снаруТи OpenLiteSpeed: настраиваСм ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ проксированиС

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ имя ΠΈ адрСс. Имя ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅, Π½ΠΎ Π΅Π³ΠΎ Π½Π°Π΄ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, пригодится Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡˆΠ°Π³Π°Ρ…. АдрСс – Ρ‚ΠΎΡ‚, Π³Π΄Π΅ ΠΆΠΈΠ²Ρ‘Ρ‚ Nextcloud Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ сСти:

Nextcloud Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π° снаруТи OpenLiteSpeed: настраиваСм ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ проксированиС

Π’ Ρ‚Π΅Ρ… ΠΆΠ΅ настройках виртуалхоста ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Context ΠΈ создаём Π½ΠΎΠ²Ρ‹ΠΉ контСкст Ρ‚ΠΈΠΏΠ° Proxy:

Nextcloud Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π° снаруТи OpenLiteSpeed: настраиваСм ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ проксированиС

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹: URI = /, Web server = nextcloud_1 (имя ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ шага)

Nextcloud Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π° снаруТи OpenLiteSpeed: настраиваСм ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ проксированиС

ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊΠ°Π΅ΠΌ LSWS. Π­Ρ‚ΠΎ дСлаСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠ»ΠΈΠΊΠΎΠΌ ΠΈΠ· Π²Π΅Π±-интСрфСйса, чудСса! (Π²ΠΎ ΠΌΠ½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ потомствСнный ΠΌΡ‹ΡˆΠ΅Π²ΠΎΠ·)

Nextcloud Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π° снаруТи OpenLiteSpeed: настраиваСм ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ проксированиС
Nextcloud Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π° снаруТи OpenLiteSpeed: настраиваСм ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ проксированиС

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Β«ΡΠ»ΡƒΡˆΠ°Ρ‚Π΅Π»ΡΒ» (Listeners > Add), Π½Π°Π·ΠΎΠ²Ρ‘ΠΌ Π΅Π³ΠΎ Β«httpsΒ». Π£ΠΊΠ°ΠΆΠ΅ΠΌ Π΅ΠΌΡƒ Π½Π° 443 ΠΏΠΎΡ€Ρ‚ ΠΈ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Secure:

Nextcloud Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π° снаруТи OpenLiteSpeed: настраиваСм ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ проксированиС

Π’ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ SSL ΡƒΠΊΠ°ΠΆΠ΅ΠΌ ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ ΠΊΠ»ΡŽΡ‡Π° ΠΈ сСртификата:

Nextcloud Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π° снаруТи OpenLiteSpeed: настраиваСм ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ проксированиС

Β«Π‘Π»ΡƒΡˆΠ°Ρ‚Π΅Π»ΡŒΒ» создан, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Virtual Host Mappings Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊ Π½Π΅ΠΌΡƒ наш виртуалхост:

Nextcloud Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π° снаруТи OpenLiteSpeed: настраиваСм ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ проксированиС

Если LSWS Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ сСрвиса, настройку ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ. Но ΠΌΡ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ запросов Π² Ρ€Π°Π·Π½Ρ‹Π΅ «инстанции» Π² зависимости ΠΎΡ‚ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ. И Ρƒ всСх Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ свои сСртификаты. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π°Π΄ΠΎ ΠΏΠΎΠΉΡ‚ΠΈ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ виртуалхоста ΠΈ снова ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ SSL Π΅Π³ΠΎ ΠΊΠ»ΡŽΡ‡ ΠΈ сСртификат. Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ это Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ виртуалхоста.

Nextcloud Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π° снаруТи OpenLiteSpeed: настраиваСм ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ проксированиС

ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ url, Ρ‡Ρ‚ΠΎΠ±Ρ‹ http-запросы Π°Π΄Ρ€Π΅ΡΠΎΠ²Π°Π»ΠΈΡΡŒ Π½Π° https.
(ΠšΡΡ‚Π°Ρ‚ΠΈ, ΠΊΠΎΠ³Π΄Π° ΡƒΠΆΠ΅ это кончится? ΠŸΠΎΡ€Π° ΡƒΠΆΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌ ΠΈ ΠΏΡ€ΠΎΡ‡Π΅ΠΌΡƒ софту ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° https, Π° пСрСсылку Π½Π° no-SSL Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΏΡ€ΠΈ нСобходимости).
Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Enable Rewrite ΠΈ записываСм Rewrite Rules:

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

Nextcloud Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π° снаруТи OpenLiteSpeed: настраиваСм ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ проксированиС

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Rewrite rules ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹ΠΌ Graceful restart ΠΏΠΎ странному Π½Π΅Π΄ΠΎΡ€Π°Π·ΡƒΠΌΠ΅Π½ΠΈΡŽ нСльзя. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ пСрСзапустим LSWS Π½Π΅ изящно, Π° Π³Ρ€ΡƒΠ±ΠΎ ΠΈ эффСктивно:

sudo systemctl restart lsws.service

Π§Ρ‚ΠΎΠ±Ρ‹ сСрвСр ΡΠ»ΡƒΡˆΠ°Π» ΠΈ 80-ΠΉ ΠΏΠΎΡ€Ρ‚, создадим Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ Listener. Назовём Π΅Π³ΠΎ http, ΡƒΠΊΠ°ΠΆΠ΅ΠΌ 80-ΠΉ ΠΏΠΎΡ€Ρ‚ ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅-Secure:

Nextcloud Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π° снаруТи OpenLiteSpeed: настраиваСм ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ проксированиС

По Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с настройкой https listener, ΠΏΡ€ΠΈΠΌΠ°ΠΏΠΈΠΌ ΠΊ Π½Π΅ΠΌΡƒ наш виртуалхост.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ LSWS Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ 80-ΠΉ ΠΏΠΎΡ€Ρ‚ ΠΈ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ с Π½Π΅Π³ΠΎ запросы Π½Π° 443, пСрСписывая url.
Π’ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ логирования LSWS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ установлСн ΠΊΠ°ΠΊ Debug. Π’ Ρ‚Π°ΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π»ΠΎΠ³ΠΈ Ρ€Π°Π·ΠΌΠ½ΠΎΠΆΠ°ΡŽΡ‚ΡΡ молниСносно! Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° случаСв достаточно уровня Warning. Π˜Π΄Ρ‘ΠΌ Π² Server Configuration > Log:

Nextcloud Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π° снаруТи OpenLiteSpeed: настраиваСм ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ проксированиС

На этом настройка OpenLiteSpeed Π² качСствС ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ прокси Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°. Π’ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Ρ€Π°Π· пСрСзапускаСм LSWS, ΠΈΠ΄Ρ‘ΠΌ ΠΏΠΎ ссылкС https://cloud.connect.link ΠΈ Π²ΠΈΠ΄ΠΈΠΌ:

Nextcloud Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π° снаруТи OpenLiteSpeed: настраиваСм ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ проксированиС

Π§Ρ‚ΠΎΠ±Ρ‹ Nextcloud пустил нас, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ внСсти Π΄ΠΎΠΌΠ΅Π½ cloud.connect.link Π² список Π΄ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Ρ…. Π˜Π΄Ρ‘ΠΌ ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ config.php. Nextcloud я ставил автоматичСски ΠΏΡ€ΠΈ установкС Ubuntu ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ находится Ρ‚ΡƒΡ‚: /var/snap/nextcloud/current/nextcloud/config.
ΠšΠ»ΡŽΡ‡Ρƒ trusted_domains добавляСм ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ‘cloud.connect.link’:

‘trusted_domains’ =>
array (
0 => ‘172.16.22.110’,
1 => ‘cloud.connect.link’,
),

Nextcloud Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π° снаруТи OpenLiteSpeed: настраиваСм ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ проксированиС

Π”Π°Π»Π΅Π΅, Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³Π΅ Π½Π°Π΄ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ IP-адрСс нашСго прокси. ΠžΠ±Ρ€Π°Ρ‰Π°ΡŽ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ адрСс Π½Π°Π΄ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΈΠ΄Π΅Π½ сСрвСру Nextcloud, Ρ‚.Π΅. IP локального интСрфСйса LSWS. Π‘Π΅Π· этого шага Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²Π΅Π±-интСрфСйс Nextcloud, Π½ΠΎ Π½Π΅ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΡƒΡŽΡ‚ΡΡ прилоТСния.

‘trusted_proxies’ =>
array (
0 => ‘172.16.22.100’,
),

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ, послС этого ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π² интСрфСйс Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ:

Nextcloud Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π° снаруТи OpenLiteSpeed: настраиваСм ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ проксированиС

Π—Π°Π΄Π°Ρ‡Π° Ρ€Π΅ΡˆΠ΅Π½Π°! Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ бСзопасно ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Β«Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌ ΠΎΠ±Π»Π°ΠΊΠΎΠΌΒ» ΠΏΠΎ своСму ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌΡƒ url, сСрвСр с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΎΡ‚Π΄Π΅Π»Ρ‘Π½ ΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ всё Ρ‚ΠΎΠΆΠ΅ самоС ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ IP-адрСс Π½Π΅ пострадаСт.
Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ reverse proxy для доставки статичСского ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°, Π½ΠΎ Π² случаС Nextcloud это Π½Π΅ даст ΠΎΡ‰ΡƒΡ‚ΠΈΠΌΠΎΠ³ΠΎ прироста скорости. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ это ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ ΠΈ ΠΏΠΎ ТСланию.

Π Π°Π΄ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ этой историСй, надСюсь ΠΊΠΎΠΌΡƒ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ. Если Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ Π±ΠΎΠ»Π΅Π΅ изящныС ΠΈ эффСктивныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ – Π±ΡƒΠ΄Ρƒ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ Π·Π° ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com