අභ්යන්තර ජාලයේ Nextcloud වෙත ප්රොක්සි ආපසු හැරවීමට OpenLiteSpeed සකසන්නේ කෙසේද?
පුදුමයට කරුණක් නම්, OpenLiteSpeed සඳහා Habré හි සෙවීමක් කිසිවක් ලබා නොදේ! LSWS හොඳ වෙබ් සේවාදායකයක් නිසා මම මෙම අසාධාරණය නිවැරදි කිරීමට ඉක්මන් වෙමි. එහි වේගය සහ විසිතුරු වෙබ් පරිපාලන අතුරුමුහුණත සඳහා මම එයට කැමතියි:
OpenLiteSpeed වර්ඩ්ප්රෙස් "ත්වරණකාරකයක්" ලෙස වඩාත් ප්රසිද්ධ වුවද, අද ලිපියෙන් මම එහි තරමක් නිශ්චිත භාවිතයක් පෙන්වමි. එනම් Reverse proxying of requests (reverse proxy). ඔබ කියන්නේ මේ සඳහා nginx භාවිතා කිරීම වඩාත් සුලභ බවයි? මම එකඟ වන්නෙමි. නමුත් අපි LSWS සමඟ ආදරයෙන් බැඳී සිටීම ඉතා රිදෙනවා!
ප්රොක්සි කිරීම හරි, නමුත් කොහෙද? නොඅඩු විශිෂ්ට සේවාවක් තුළ - NextCloud. පුද්ගලික "ගොනු බෙදාගැනීමේ වලාකුළු" සෑදීමට අපි Nextcloud භාවිතා කරමු. එක් එක් සේවාදායකයා සඳහා, අපි Nextcloud සමඟ වෙනම VM වෙන් කරන අතර, අපි ඔවුන් "පිටත" හෙළිදරව් කිරීමට අවශ්ය නොවේ. ඒ වෙනුවට, අපි පොදු ප්රතිලෝම ප්රොක්සියක් හරහා ඉල්ලීම් ප්රොක්සි කරන්නෙමු. මෙම විසඳුම ඉඩ දෙන්නේ:
1) සේවාදායකයාගේ දත්ත අන්තර්ජාලයෙන් ගබඩා කර ඇති සේවාදායකය ඉවත් කරන්න
2) ip ලිපින සුරකින්න.
යෝජනා ක්රමය මේ වගේ ය:
මෙම යෝජනා ක්රමය සරල කර ඇති බව පැහැදිලිය, මන්ද වෙබ් සේවා යටිතල පහසුකම් සංවිධානය අද ලිපියේ මාතෘකාව නොවේ.
මෙම ලිපියෙන් මම NextCloud හි ස්ථාපනය සහ මූලික වින්යාසය ඉවත් කරමි, විශේෂයෙන් Habré හි මෙම මාතෘකාව පිළිබඳ ද්රව්ය ඇති බැවින්. නමුත් මම අනිවාර්යයෙන්ම සැකසුම් පෙන්වමි, එය නොමැතිව Nextcloud ප්රොක්සි පිටුපස ක්රියා නොකරනු ඇත.
ලබා දී ඇත්තේ:
Nextcloud සත්කාරක 1 හි ස්ථාපනය කර ඇති අතර http (SSL නොමැතිව) හරහා වැඩ කිරීමට වින්යාස කර ඇත, දේශීය ජාල අතුරු මුහුණතක් සහ "අළු" IP ලිපිනයක් පමණක් ඇත 172.16.22.110.
අපි ධාරක 2 හි OpenLiteSpeed වින්යාස කරමු. එය 172.16.22.0/24 ජාලයේ IP ලිපිනයක් සහිත බාහිර (අන්තර්ජාලයට පෙනෙන) සහ අභ්යන්තර අතුරුමුහුණත් දෙකක් ඇත.
සත්කාරක 2 හි බාහිර අතුරුමුහුණත් IP ලිපිනය DNS නම cloud.connect.link වේ
අභියෝගය:
සබැඳිය හරහා අන්තර්ජාලයෙන් ලබා ගන්න'
- උබුන්ටු 18.04.2 මත OpenLiteSpeed ස්ථාපනය කිරීම.
අපි ගබඩාවක් එකතු කරමු:
wget -O
http://rpms.litespeedtech.com/debian/enable_lst_debain_repo.sh |sudo bash
sudo apt-update ලබා ගන්න
ස්ථාපනය කරන්න, ධාවනය කරන්න:
sudo apt-get openlitespeed ස්ථාපනය කරන්න
sudo /usr/local/lsws/bin/lswsctrl ආරම්භය
- අවම ෆයර්වෝල් සැකසුම.
sudo ufw ඉඩ දෙන්න ssh
sudo ufw පෙරනිමියෙන් පිටතට යාමට ඉඩ දෙන්න
sudo ufw default incoming ප්රතික්ෂේප කරයි
sudo ufw http ට ඉඩ දෙන්න
sudo ufw අවසර https
sudo ufw අවසර දෙන්න ඔබේ කළමනාකරණ සත්කාරක ඕනෑම වරාය 7080 වෙත
sudo ufw enable - ප්රතිලෝම ප්රොක්සියක් ලෙස OpenLiteSpeed සකසන්න.
අපි virtualhost යටතේ නාමාවලි නිර්මාණය කරමු.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 කළමනාකරණය විවෘත කරන්න
පෙරනිමි පිවිසුම/මුරපදය: admin/123456
අතථ්ය ධාරකයක් එක් කරන්න (අථත්ය ධාරක > එකතු කරන්න).
එකතු කරන විට, දෝෂ පණිවිඩයක් දිස්වනු ඇත - වින්යාස ගොනුව අතුරුදහන්. මෙය සාමාන්ය දෙයක්, නිර්මාණය කිරීමට ක්ලික් කිරීම ක්ලික් කිරීමෙන් විසඳනු ලැබේ.
සාමාන්ය පටිත්තෙහි, ලේඛන මූලය සඳහන් කරන්න (එය අවශ්ය නොවූවත්, එය නොමැතිව වින්යාසය ඉවත් නොවේ). වසම් නාමය, නිශ්චිතව දක්වා නොමැති නම්, අප විසින් අපගේ ඩොමේන් නාමය නම් කළ අතථ්ය සත්කාරක නාමයෙන් ගනු ලැබේ.
දැන් අපට ඇත්තේ වෙබ් සේවාදායකයක් පමණක් නොව ප්රතිලෝම ප්රොක්සියක් බව මතක තබා ගැනීමට කාලයයි. පහත සැකසුම් LSWS හට ප්රොක්සි කළ යුත්තේ කුමක්ද සහ කොහිදැයි කියනු ඇත. virtualhost සැකසුම් තුළ, බාහිර යෙදුම් පටිත්ත විවෘත කර වෙබ් සේවාදායක ආකාරයේ නව යෙදුමක් එක් කරන්න:
නම සහ ලිපිනය සඳහන් කරන්න. ඔබට අත්තනෝමතික නමක් නියම කළ හැකිය, නමුත් ඔබ එය මතක තබා ගත යුතුය, එය ඊළඟ පියවරේදී ප්රයෝජනවත් වනු ඇත. අභ්යන්තර ජාලය තුළ Nextcloud ජීවත් වන ලිපිනය වන්නේ ලිපිනයයි:
එම අතථ්ය ධාරක සැකසුම් තුළම, සන්දර්භය ටැබය විවෘත කර ප්රොක්සි වර්ගයේ නව සන්දර්භයක් සාදන්න:
පරාමිති සඳහන් කරන්න: URI = /, Web server = nextcloud_1 (පෙර පියවරෙන් නම)
LSWS නැවත ආරම්භ කරන්න. මෙය වෙබ් අතුරු මුහුණතෙන් එක් ක්ලික් කිරීමකින් සිදු කෙරේ, ආශ්චර්යයන්! (පරම්පරාගත මූසික වාහකයෙකු මා තුළ කථා කරයි)
- අපි සහතිකය දමා, https වින්යාස කරන්න.
සහතිකයක් ලබා ගැනීමේ ක්රියා පටිපාටිය අපි එය මඟහරිමු, අප සතුව එය දැනටමත් ඇති බවට එකඟ වන අතර /etc/letsencrypt/live/cloud.connect.link නාමාවලියෙහි යතුර සමඟ සැතපෙන්නෙමු.
අපි "සවන් දෙන්නා" (සවන් දෙන්නන් > එකතු කරන්න) නිර්මාණය කරමු, අපි එය "https" ලෙස හඳුන්වමු. එය වරාය 443 වෙත යොමු කර එය ආරක්ෂිත බව සලකන්න:
SSL පටිත්තෙහි, යතුර සහ සහතිකය සඳහා මාර්ගය සඳහන් කරන්න:
“සවන් දෙන්නා” නිර්මාණය කර ඇත, දැන් අතථ්ය ධාරක සිතියම්කරණ කොටසේ අපි එයට අපගේ අතථ්ය ධාරකය එක් කරන්නෙමු:
LSWS එක සේවාවකට පමණක් ප්රොක්සි කරන්නේ නම්, වින්යාසය සම්පූර්ණ කළ හැක. නමුත් ඩොමේන් නාමය අනුව විවිධ "උදාහරණ" වෙත ඉල්ලීම් යැවීමට එය භාවිතා කිරීමට අපි සැලසුම් කරමු. තවද සියලුම වසම් වලට ඔවුන්ගේම සහතික ඇත. එබැවින්, ඔබ virtualhost config වෙත ගොස් SSL ටැබය තුළ එහි යතුර සහ සහතිකය නැවත සඳහන් කළ යුතුය. අනාගතයේදී, මෙය එක් එක් නව අථත්ය සත්කාරක සඳහා සිදු කළ යුතුය.
http ඉල්ලීම් https වෙත යොමු කෙරෙන පරිදි url නැවත ලිවීම වින්යාස කිරීමට ඉතිරිව ඇත.
(මාර්ගය වන විට, මෙය අවසන් වන්නේ කවදාද? බ්රවුසර සහ අනෙකුත් මෘදුකාංග පෙරනිමියෙන් https වෙත යාමට කාලයයි, අවශ්ය නම් no-SSL වෙත හස්තීයව යොමු කරන්න).
නැවත ලිවීම සක්රිය කර නැවත ලිවීමේ නීති ලියන්න:
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$https://%{SERVER_NAME}%{REQUEST_URI } [R=301,L]
අමුතු වරදවා වටහාගැනීමක් හේතුවෙන්, සුපුරුදු ග්රේස්ෆුල් නැවත ආරම්භය සමඟ නැවත ලිවීමේ රීති යෙදිය නොහැක. එබැවින්, අපි LSWS නැවත ආරම්භ කරන්නෙමු අලංකාර ලෙස නොව, රළු ලෙස සහ කාර්යක්ෂමව:
sudo systemctl lsws.service නැවත ආරම්භ කරන්න
සේවාදායකය 80 වරායට සවන් දීමට, අපි තවත් Listener එකක් නිර්මාණය කරමු. අපි එය http ලෙස හඳුන්වමු, 80 වන වරාය සඳහන් කරන්න සහ එය ආරක්ෂිත නොවන බව:
https ශ්රාවක සැකසුම සමඟ ප්රතිසමයෙන්, අපි එයට අපගේ අතථ්ය සත්කාරක අනුයුක්ත කරමු.
දැන් LSWS port 80ට සවන් දී 443 වෙත ඉල්ලීම් යවමින් url එක නැවත ලියයි.
අවසාන වශයෙන්, පෙරනිමියෙන් නිදොස්කරණයට සකසා ඇති LSWS ලොගින් මට්ටම අඩු කිරීමට මම නිර්දේශ කරමි. මෙම මාදිලියේදී, ලඝු-සටහන් විදුලි වේගයෙන් ගුණ කරයි! බොහෝ අවස්ථා සඳහා, අනතුරු ඇඟවීමේ මට්ටම ප්රමාණවත් වේ. Server Configuration > Log වෙත යන්න:
මෙය ප්රතිලෝම ප්රොක්සියක් ලෙස OpenLiteSpeed හි වින්යාසය සම්පූර්ණ කරයි. නැවත වරක්, LSWS නැවත ආරම්භ කරන්න, සබැඳිය අනුගමනය කරන්න
Nextcloud අපට ඇතුල් වීමට ඉඩ දීම සඳහා, අපි cloud.connect.link වසම විශ්වාසදායක ලැයිස්තුවට එක් කළ යුතුය. අපි edit config.php යමු. මම උබුන්ටු ස්ථාපනය කරන විට ස්වයංක්රීයව Nextcloud ස්ථාපනය කළ අතර වින්යාසය මෙහි පිහිටා ඇත: /var/snap/nextcloud/current/nextcloud/config.
Trusted_domains යතුරට 'Cloud.connect.link' පරාමිතිය එක් කරන්න:
'trusted_domains' =>
අරාව (
0 => '172.16.22.110',
1 => 'Cloud.connect.link',
),
තවද, එම වින්යාසය තුළම, ඔබ අපගේ ප්රොක්සියේ IP ලිපිනය සඳහන් කළ යුතුය. Nextcloud සේවාදායකයට පෙනෙන ලිපිනය සඳහන් කළ යුතු බව මම ඔබේ අවධානයට යොමු කරමි, i.e. දේශීය LSWS අතුරුමුහුණතේ IP. මෙම පියවර නොමැතිව, Nextcloud වෙබ් අතුරු මුහුණත ක්රියා කරයි, නමුත් යෙදුම්වලට අවසර නැත.
'trusted_proxies' =>
අරාව (
0 => '172.16.22.100',
),
නියමයි, ඊට පසු අපට අවසර අතුරුමුහුණතට ඇතුළු විය හැකිය:
ගැටලුව විසඳා ඇත! දැන් සෑම සේවාදායකයෙකුටම ඔහුගේ පුද්ගලික url හි “ගොනු වලාකුළ” ආරක්ෂිතව භාවිතා කළ හැකිය, ලිපිගොනු සහිත සේවාදායකය අන්තර්ජාලයෙන් වෙන් කර ඇත, අනාගත සේවාදායකයින්ට සියල්ල එක හා සමානව ලැබෙනු ඇති අතර එක් අමතර IP ලිපිනයක්වත් බලපාන්නේ නැත.
මීට අමතරව, ඔබට ස්ථිතික අන්තර්ගතය ලබා දීමට ප්රතිලෝම ප්රොක්සියක් භාවිතා කළ හැක, නමුත් Nextcloud සම්බන්ධයෙන්, මෙය වේගයේ සැලකිය යුතු වැඩි වීමක් ලබා නොදේ. එබැවින් එය විකල්ප සහ විකල්ප වේ.
මෙම කතාව බෙදා ගැනීමට ලැබීම ගැන මම සතුටු වෙමි, එය යමෙකුට ප්රයෝජනවත් වනු ඇතැයි මම බලාපොරොත්තු වෙමි. ගැටලුව විසඳීම සඳහා වඩාත් අලංකාර සහ කාර්යක්ෂම ක්රම ඔබ දන්නේ නම්, අදහස් සඳහා මම කෘතඥ වනු ඇත!
මූලාශ්රය: www.habr.com