ΠΠ°ΠΊ Π½Π°ΡΡΡΠΎΠΈΡΡ OpenLiteSpeed Π½Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Nextcloud, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠΉΡΡ Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΠ΅ΡΠΈ?
Π£Π΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π½ΠΎ ΠΏΠΎΠΈΡΠΊ Π½Π° Π₯Π°Π±ΡΠ΅ ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΡ OpenLiteSpeed Π½Π΅ Π΄Π°ΡΡ Π½ΠΈΡΠ΅Π³ΠΎ! Π‘ΠΏΠ΅ΡΡ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΡ Π½Π΅ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎΡΡΡ, Π²Π΅Π΄Ρ LSWS β Π΄ΠΎΡΡΠΎΠΉΠ½ΡΠΉ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ. Π― Π»ΡΠ±Π»Ρ Π΅Π³ΠΎ Π·Π° ΡΠΊΠΎΡΠΎΡΡΡ ΠΈ ΠΌΠΎΠ΄Π½ΡΠΉ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ OpenLiteSpeed Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π½Π°ΠΌΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ Β«ΡΡΠΊΠΎΡΠΈΡΠ΅Π»ΡΒ» Π²ΠΎΡΠ΄ΠΏΡΠ΅ΡΠ°, Π² ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½Π΅ΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΠΏΠΎΠΊΠ°ΠΆΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΠ΅ Π΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅. Π ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² (reverse proxy). ΠΡ ΡΠΊΠ°ΠΆΠ΅ΡΠ΅, ΡΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ²ΡΡΠ½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ nginx? Π― ΡΠΎΠ³Π»Π°ΡΡΡΡ. ΠΠΎ Π±ΠΎΠ»ΡΠ½ΠΎ ΡΠΆ Π½Π°ΠΌ ΠΏΠΎΠ»ΡΠ±ΠΈΠ»ΡΡ LSWS!
ΠΡΠΎΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΊ, Π½ΠΎ ΠΊΡΠ΄Π°? Π Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ β Nextcloud. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Nextcloud Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΡΡΠ½ΡΡ
Β«ΡΠ°ΠΉΠ»ΠΎΠΎΠ±ΠΌΠ΅Π½Π½ΡΡ
ΠΎΠ±Π»Π°ΠΊΠΎΠ²Β». ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΌΡ Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ VM Ρ Nextcloud, ΠΈ Π½Π΅ Ρ
ΠΎΡΠΈΠΌ Π²ΡΡΡΠ°Π²Π»ΡΡΡ ΠΈΡ
Β«Π½Π°ΡΡΠΆΡΒ». ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΏΡΠΎΠΊΡΠΈΡΡΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΡ ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΠΈΠΉ reverse proxy. ΠΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ:
1) ΡΠ±ΡΠ°ΡΡ ΡΠ΅ΡΠ²Π΅Ρ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ
ΡΠ°Π½ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° ΠΈ
2) ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ ip-Π°Π΄ΡΠ΅ΡΠ°.
Π‘Ρ Π΅ΠΌΠ° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
ΠΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΡ Π΅ΠΌΠ° ΡΠΏΡΠΎΡΠ΅Π½Π°, Ρ.ΠΊ. ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² β Π½Π΅ ΡΠ΅ΠΌΠ° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½Π΅ΠΉ ΡΡΠ°ΡΡΠΈ.
Π’Π°ΠΊΠΆΠ΅ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΠΎΠΏΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΠΈ Π±Π°Π·ΠΎΠ²ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ Π½Π΅ΠΊΡΡΠΊΠ»Π°ΡΠ΄Π°, ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΡΠΎ Π½Π° Π₯Π°Π±ΡΠ΅ Π΅ΡΡΡ ΠΏΠΎΡΠ²ΡΡΡΠ½Π½ΡΠ΅ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ. ΠΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠΊΠ°ΠΆΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, Π±Π΅Π· ΠΊΠΎΡΠΎΡΡΡ Nextcloud Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π·Π° ΠΏΡΠΎΠΊΡΠΈ.
ΠΠ°Π½ΠΎ:
Nextcloud ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π½Π° Ρ
ΠΎΡΡΠ΅ 1 ΠΈ Π½Π°ΡΡΡΠΎΠ΅Π½ Π½Π° ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ http (Π±Π΅Π· SSL), ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈ Β«ΡΠ΅ΡΡΠΉΒ» IP-Π°Π΄ΡΠ΅Ρ 172.16.22.110.
ΠΠ°ΡΡΡΠΎΠΈΠΌ OpenLiteSpeed Π½Π° Ρ
ΠΎΡΡΠ΅ 2. Π£ Π½Π΅Π³ΠΎ Π΄Π²Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, Π²Π½Π΅ΡΠ½ΠΈΠΉ (ΡΠΌΠΎΡΡΠΈΡ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ) ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ Ρ IP-Π°Π΄ΡΠ΅ΡΠΎΠΌ Π² ΡΠ΅ΡΠΈ 172.16.22.0/24
ΠΠ° IP-Π°Π΄ΡΠ΅Ρ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Ρ
ΠΎΡΡΠ° 2 Π²Π΅Π΄Π΅Ρ DNS-ΠΈΠΌΡ cloud.connect.link
ΠΠ°Π΄Π°ΡΠ°:
ΠΠΎΠΏΠ°Π΄Π°ΡΡ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ ‘
- Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ 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.
ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ ΡΡΠ»
ΠΠ΅ΡΠΎΠ»ΡΠ½ΡΠΉ Π»ΠΎΠ³ΠΈΠ½/ΠΏΠ°ΡΠΎΠ»Ρ: admin/123456
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π²ΠΈΡΡΡΠ°Π»Ρ
ΠΎΡΡ (Virtual Hosts > Add).
ΠΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ β ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΡΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, ΡΠ΅ΡΠ°Π΅ΡΡΡ Π½Π°ΠΆΠ°ΡΠΈΠ΅ΠΌ Click to create.
ΠΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ General ΡΠΊΠ°ΠΆΠ΅ΠΌ Document Root (Ρ ΠΎΡΡ ΠΎΠ½ ΠΈ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ, Π±Π΅Π· Π½Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ Π½Π΅ Π²Π·Π»Π΅ΡΠΈΡ). Domain Name, Π΅ΡΠ»ΠΈ Π΅Π³ΠΎ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, Π±ΡΠ΄Π΅Ρ Π²Π·ΡΡ ΠΈΠ· Virtual Host Name, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π½Π°Π·Π²Π°Π»ΠΈ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π½Π°ΡΠ΅Π³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π°.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠ° Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ Ρ Π½Π°Ρ Π½Π΅ ΠΏΡΠΎΡΡΠΎ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ, Π° reverse proxy. Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΊΠ°ΠΆΡΡ LSWS, ΡΡΠΎ ΠΏΡΠΎΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΊΡΠ΄Π°. Π Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ Π²ΠΈΡΡΡΠ°Π»Ρ ΠΎΡΡΠ° ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΡ External App ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΡ Π°ΠΏΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ ΡΠΈΠΏΠ° Web server:
Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΈΠΌΡ ΠΈ Π°Π΄ΡΠ΅Ρ. ΠΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅, Π½ΠΎ Π΅Π³ΠΎ Π½Π°Π΄ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°Π³Π°Ρ . ΠΠ΄ΡΠ΅Ρ β ΡΠΎΡ, Π³Π΄Π΅ ΠΆΠΈΠ²ΡΡ Nextcloud Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΠ΅ΡΠΈ:
Π ΡΠ΅Ρ ΠΆΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ Π²ΠΈΡΡΡΠ°Π»Ρ ΠΎΡΡΠ° ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΡ Context ΠΈ ΡΠΎΠ·Π΄Π°ΡΠΌ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΠΈΠΏΠ° Proxy:
Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ: URI = /, Web server = nextcloud_1 (ΠΈΠΌΡ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΠ°Π³Π°)
ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ LSWS. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠ»ΠΈΠΊΠΎΠΌ ΠΈΠ· Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΡΡΠ΄Π΅ΡΠ°! (Π²ΠΎ ΠΌΠ½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΏΠΎΡΠΎΠΌΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΌΡΡΠ΅Π²ΠΎΠ·)
- Π‘ΡΠ°Π²ΠΈΠΌ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ, Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ https.
ΠΡΠΎΡΠ΅Π΄ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° ΠΌΡ ΠΎΠΏΡΡΡΠΈΠΌ, Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌΡΡ ΡΡΠΎ ΠΎΠ½ Ρ Π½Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ ΠΈ Π»Π΅ΠΆΠΈΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΊΠ»ΡΡΠΎΠΌ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ /etc/letsencrypt/live/cloud.connect.link.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Β«ΡΠ»ΡΡΠ°ΡΠ΅Π»ΡΒ» (Listeners > Add), Π½Π°Π·ΠΎΠ²ΡΠΌ Π΅Π³ΠΎ Β«httpsΒ». Π£ΠΊΠ°ΠΆΠ΅ΠΌ Π΅ΠΌΡ Π½Π° 443 ΠΏΠΎΡΡ ΠΈ ΠΎΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Secure:
ΠΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ SSL ΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΏΡΡΡ Π΄ΠΎ ΠΊΠ»ΡΡΠ° ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°:
Β«Π‘Π»ΡΡΠ°ΡΠ΅Π»ΡΒ» ΡΠΎΠ·Π΄Π°Π½, ΡΠ΅ΠΏΠ΅ΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Virtual Host Mappings Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊ Π½Π΅ΠΌΡ Π½Π°Ρ Π²ΠΈΡΡΡΠ°Π»Ρ ΠΎΡΡ:
ΠΡΠ»ΠΈ LSWS Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°, Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡ. ΠΠΎ ΠΌΡ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΡΠ°Π·Π½ΡΠ΅ Β«ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈΒ» Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ. Π Ρ Π²ΡΠ΅Ρ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² Π±ΡΠ΄ΡΡ ΡΠ²ΠΎΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ. ΠΠΎΡΡΠΎΠΌΡ Π½Π°Π΄ΠΎ ΠΏΠΎΠΉΡΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ Π²ΠΈΡΡΡΠ°Π»Ρ ΠΎΡΡΠ° ΠΈ ΡΠ½ΠΎΠ²Π° ΡΠΊΠ°Π·Π°ΡΡ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ SSL Π΅Π³ΠΎ ΠΊΠ»ΡΡ ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ. Π Π±ΡΠ΄ΡΡΠ΅ΠΌ ΡΡΠΎ Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π²ΠΈΡΡΡΠ°Π»Ρ ΠΎΡΡΠ°.
ΠΡΡΠ°Π»ΠΎΡΡ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡ url, ΡΡΠΎΠ±Ρ http-Π·Π°ΠΏΡΠΎΡΡ Π°Π΄ΡΠ΅ΡΠΎΠ²Π°Π»ΠΈΡΡ Π½Π° https.
(ΠΡΡΠ°ΡΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΠΆΠ΅ ΡΡΠΎ ΠΊΠΎΠ½ΡΠΈΡΡΡ? ΠΠΎΡΠ° ΡΠΆΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌ ΠΈ ΠΏΡΠΎΡΠ΅ΠΌΡ ΡΠΎΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Ρ
ΠΎΠ΄ΠΈΡΡ Π½Π° https, Π° ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΡ Π½Π° no-SSL Π΄Π΅Π»Π°ΡΡ Π²ΡΡΡΠ½ΡΡ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ).
ΠΠΊΠ»ΡΡΠ°Π΅ΠΌ Enable Rewrite ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Rewrite Rules:
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$https://%{SERVER_NAME}%{REQUEST_URI } [R=301,L]
ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ Rewrite rules ΠΏΡΠΈΠ²ΡΡΠ½ΡΠΌ Graceful restart ΠΏΠΎ ΡΡΡΠ°Π½Π½ΠΎΠΌΡ Π½Π΅Π΄ΠΎΡΠ°Π·ΡΠΌΠ΅Π½ΠΈΡ Π½Π΅Π»ΡΠ·Ρ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΠΌ LSWS Π½Π΅ ΠΈΠ·ΡΡΠ½ΠΎ, Π° Π³ΡΡΠ±ΠΎ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ:
sudo systemctl restart lsws.service
Π§ΡΠΎΠ±Ρ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ»ΡΡΠ°Π» ΠΈ 80-ΠΉ ΠΏΠΎΡΡ, ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ Listener. ΠΠ°Π·ΠΎΠ²ΡΠΌ Π΅Π³ΠΎ http, ΡΠΊΠ°ΠΆΠ΅ΠΌ 80-ΠΉ ΠΏΠΎΡΡ ΠΈ ΡΠΎ, ΡΡΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π½Π΅-Secure:
ΠΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ https listener, ΠΏΡΠΈΠΌΠ°ΠΏΠΈΠΌ ΠΊ Π½Π΅ΠΌΡ Π½Π°Ρ Π²ΠΈΡΡΡΠ°Π»Ρ ΠΎΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ LSWS Π±ΡΠ΄Π΅Ρ ΡΠ»ΡΡΠ°ΡΡ 80-ΠΉ ΠΏΠΎΡΡ ΠΈ Π½Π°ΠΏΡΠ°Π²Π»ΡΡΡ Ρ Π½Π΅Π³ΠΎ Π·Π°ΠΏΡΠΎΡΡ Π½Π° 443, ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Ρ url.
Π Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΡΠ½ΠΈΠ·ΠΈΡΡ ΡΡΠΎΠ²Π΅Π½Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ LSWS, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΊΠ°ΠΊ Debug. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π»ΠΎΠ³ΠΈ ΡΠ°Π·ΠΌΠ½ΠΎΠΆΠ°ΡΡΡΡ ΠΌΠΎΠ»Π½ΠΈΠ΅Π½ΠΎΡΠ½ΠΎ! ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΠ»ΡΡΠ°Π΅Π² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠΎΠ²Π½Ρ Warning. ΠΠ΄ΡΠΌ Π² Server Configuration > Log:
ΠΠ° ΡΡΠΎΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° OpenLiteSpeed Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΊΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½Π°. Π ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ°Π· ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ LSWS, ΠΈΠ΄ΡΠΌ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅
Π§ΡΠΎΠ±Ρ 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’,
),
ΠΠ°Π»Π΅Π΅, Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³Π΅ Π½Π°Π΄ΠΎ ΡΠΊΠ°Π·Π°ΡΡ IP-Π°Π΄ΡΠ΅Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠΊΡΠΈ. ΠΠ±ΡΠ°ΡΠ°Ρ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π°Π΄ΡΠ΅Ρ Π½Π°Π΄ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΈΠ΄Π΅Π½ ΡΠ΅ΡΠ²Π΅ΡΡ Nextcloud, Ρ.Π΅. IP Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° LSWS. ΠΠ΅Π· ΡΡΠΎΠ³ΠΎ ΡΠ°Π³Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Nextcloud, Π½ΠΎ Π½Π΅ Π°Π²ΡΠΎΡΠΈΠ·ΡΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
‘trusted_proxies’ =>
array (
0 => ‘172.16.22.100’,
),
ΠΡΠ»ΠΈΡΠ½ΠΎ, ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΏΠ°ΡΡΡ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ:
ΠΠ°Π΄Π°ΡΠ° ΡΠ΅ΡΠ΅Π½Π°! Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Β«ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΌ ΠΎΠ±Π»Π°ΠΊΠΎΠΌΒ» ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌΡ url, ΡΠ΅ΡΠ²Π΅Ρ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°, Π±ΡΠ΄ΡΡΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΏΠΎΠ»ΡΡΠ°Ρ Π²ΡΡ ΡΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ IP-Π°Π΄ΡΠ΅Ρ Π½Π΅ ΠΏΠΎΡΡΡΠ°Π΄Π°Π΅Ρ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ reverse proxy Π΄Π»Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°, Π½ΠΎ Π² ΡΠ»ΡΡΠ°Π΅ Nextcloud ΡΡΠΎ Π½Π΅ Π΄Π°ΡΡ ΠΎΡΡΡΠΈΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΡΠΎΡΡΠ° ΡΠΊΠΎΡΠΎΡΡΠΈ. Π’Π°ΠΊ ΡΡΠΎ ΡΡΠΎ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΈ ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡ.
Π Π°Π΄ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΡΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ, Π½Π°Π΄Π΅ΡΡΡ ΠΊΠΎΠΌΡ-Π½ΠΈΠ±ΡΠ΄Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ. ΠΡΠ»ΠΈ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ·ΡΡΠ½ΡΠ΅ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ β Π±ΡΠ΄Ρ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ Π·Π° ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ!
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com