Nextcloud உள்ளே மற்றும் OpenLiteSpeed ​​வெளியே: தலைகீழ் ப்ராக்ஸியை அமைக்கிறது

எனது உள் நெட்வொர்க்கில் உள்ள Nextcloud க்கு ரிவர்ஸ் ப்ராக்ஸியை எப்படி OpenLiteSpeed ​​ஐ உள்ளமைப்பது?

ஆச்சரியப்படும் விதமாக, OpenLiteSpeed ​​க்கான Habré இல் தேடுதல் எதையும் தரவில்லை! LSWS ஒரு தகுதியான இணைய சேவையகம் என்பதால், இந்த அநீதியைச் சரிசெய்வதற்கு நான் அவசரப்படுகிறேன். அதன் வேகம் மற்றும் ஆடம்பரமான வலை நிர்வாக இடைமுகத்திற்காக நான் அதை விரும்புகிறேன்:

Nextcloud உள்ளே மற்றும் OpenLiteSpeed ​​வெளியே: தலைகீழ் ப்ராக்ஸியை அமைக்கிறது

OpenLiteSpeed ​​ஒரு வேர்ட்பிரஸ் "முடுக்கி" என மிகவும் பிரபலமானது என்ற போதிலும், இன்றைய கட்டுரையில் நான் அதன் குறிப்பிட்ட பயன்பாட்டைக் காண்பிப்பேன். அதாவது, ரிவர்ஸ் ப்ராக்ஸிங் கோரிக்கைகள். இதற்கு nginx ஐப் பயன்படுத்துவது மிகவும் பொதுவானது என்று சொல்வீர்களா? நான் ஒப்புக்கொள்கிறேன். ஆனால் நாங்கள் உண்மையில் LSWS ஐ காதலித்தோம்!

ப்ராக்ஸிங் சரி, ஆனால் எங்கே? சமமான அற்புதமான சேவை Nextcloud. தனிப்பட்ட "கோப்பு-பகிர்வு மேகங்களை" உருவாக்க Nextcloud ஐப் பயன்படுத்துகிறோம். ஒவ்வொரு கிளையண்டிற்கும், Nextcloud உடன் ஒரு தனி VM ஐ ஒதுக்குகிறோம், மேலும் அவற்றை "வெளியே" வெளிப்படுத்த விரும்பவில்லை. மாறாக, பொதுவான ரிவர்ஸ் ப்ராக்ஸி மூலம் கோரிக்கைகளை ப்ராக்ஸி செய்கிறோம். இந்த தீர்வு உங்களை அனுமதிக்கிறது:
1) வாடிக்கையாளரின் தரவு இணையத்திலிருந்து சேமிக்கப்பட்டுள்ள சேவையகத்தை அகற்றவும்
2) ஐபி முகவரிகளைச் சேமிக்கவும்.

திட்டம் இதுபோல் தெரிகிறது:

Nextcloud உள்ளே மற்றும் OpenLiteSpeed ​​வெளியே: தலைகீழ் ப்ராக்ஸியை அமைக்கிறது

வரைபடம் எளிமைப்படுத்தப்பட்டுள்ளது என்பது தெளிவாகிறது, ஏனெனில் இணைய சேவை உள்கட்டமைப்பை ஒழுங்கமைப்பது இன்றைய கட்டுரையின் தலைப்பு அல்ல.

இந்த கட்டுரையில் நெக்ஸ்ட் கிளவுட்டின் நிறுவல் மற்றும் அடிப்படை உள்ளமைவை நான் தவிர்க்கிறேன், குறிப்பாக ஹப்ரேயில் இந்த தலைப்பில் பொருட்கள் இருப்பதால். ஆனால் ப்ராக்ஸியின் பின்னால் Nextcloud வேலை செய்யாத அமைப்புகளை நான் நிச்சயமாக உங்களுக்குக் காண்பிப்பேன்.

கொடுக்கப்பட்ட:
நெக்ஸ்ட்கிளவுட் ஹோஸ்ட் 1 இல் நிறுவப்பட்டு, http (SSL இல்லாமல்) வழியாக வேலை செய்ய உள்ளமைக்கப்பட்டது, உள்ளூர் பிணைய இடைமுகம் மற்றும் "சாம்பல்" IP முகவரி 172.16.22.110 மட்டுமே உள்ளது.
ஹோஸ்ட் 2 இல் OpenLiteSpeed ​​ஐ உள்ளமைப்போம். இது இரண்டு இடைமுகங்களைக் கொண்டுள்ளது, வெளிப்புற ஒன்று (இணையத்தைப் பார்க்கிறது) மற்றும் 172.16.22.0/24 நெட்வொர்க்கில் உள்ள IP முகவரியுடன் உள்ள ஒன்று
DNS பெயர் cloud.connect.link ஹோஸ்ட் 2 இன் வெளிப்புற இடைமுகத்தின் IP முகவரிக்கு வழிவகுக்கிறது

பணி:
' என்ற இணைப்பைப் பயன்படுத்தி இணையத்திலிருந்து பெறுங்கள்https://cloud.connect.link' (SSL) அக நெட்வொர்க்கில் Nextcloud இல்.

  • உபுண்டு 18.04.2 இல் OpenLiteSpeed ​​ஐ நிறுவுகிறது.

ஒரு களஞ்சியத்தைச் சேர்ப்போம்:

wget -O - http://rpms.litespeedtech.com/debian/enable_lst_debain_repo.sh |சுடோ பாஷ்
sudo apt-get update

நிறுவவும், இயக்கவும்:

sudo apt-get install 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 செயல்படுத்த

  • 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 நிர்வாகத்தைத் திறக்கிறது http://cloud.connect.link:7080
இயல்புநிலை உள்நுழைவு/கடவுச்சொல்: admin/123456

Nextcloud உள்ளே மற்றும் OpenLiteSpeed ​​வெளியே: தலைகீழ் ப்ராக்ஸியை அமைக்கிறது

மெய்நிகர் ஹோஸ்ட்டைச் சேர்க்கவும் (மெய்நிகர் ஹோஸ்ட்கள் > சேர்).
சேர்க்கும் போது, ​​கட்டமைப்பு கோப்பு காணவில்லை என்பதைக் குறிக்கும் பிழை செய்தி தோன்றும். இது இயல்பானது மற்றும் உருவாக்க கிளிக் செய்வதன் மூலம் தீர்க்க முடியும்.

Nextcloud உள்ளே மற்றும் OpenLiteSpeed ​​வெளியே: தலைகீழ் ப்ராக்ஸியை அமைக்கிறது

பொது தாவலில், ஆவண ரூட்டைக் குறிப்பிடவும் (அது தேவையில்லை என்றாலும், கட்டமைப்பு அது இல்லாமல் வெளியேறாது). டொமைன் பெயர், குறிப்பிடப்படவில்லை என்றால், விர்ச்சுவல் ஹோஸ்ட் பெயரிலிருந்து எடுக்கப்படும், அதை நாங்கள் எங்கள் டொமைனின் பெயர் என்று அழைத்தோம்.

Nextcloud உள்ளே மற்றும் OpenLiteSpeed ​​வெளியே: தலைகீழ் ப்ராக்ஸியை அமைக்கிறது

இப்போது எங்களிடம் இணைய சேவையகம் இல்லை, ஆனால் ஒரு தலைகீழ் ப்ராக்ஸி உள்ளது என்பதை நினைவில் கொள்ள வேண்டிய நேரம் இது. பின்வரும் அமைப்புகள் LSWS க்கு எதை ப்ராக்ஸி செய்ய வேண்டும், எங்கு செய்ய வேண்டும் என்பதைத் தெரிவிக்கும். மெய்நிகர் ஹோஸ்ட் அமைப்புகளில், வெளிப்புற பயன்பாட்டு தாவலைத் திறந்து, வலை சேவையக வகையின் புதிய பயன்பாட்டைச் சேர்க்கவும்:

Nextcloud உள்ளே மற்றும் OpenLiteSpeed ​​வெளியே: தலைகீழ் ப்ராக்ஸியை அமைக்கிறது

நாங்கள் பெயரையும் முகவரியையும் குறிப்பிடுகிறோம். நீங்கள் ஒரு தன்னிச்சையான பெயரைக் குறிப்பிடலாம், ஆனால் நீங்கள் அதை நினைவில் கொள்ள வேண்டும்; இது அடுத்த படிகளில் பயனுள்ளதாக இருக்கும். நெக்ஸ்ட் கிளவுட் உள் நெட்வொர்க்கில் வசிக்கும் முகவரி:

Nextcloud உள்ளே மற்றும் OpenLiteSpeed ​​வெளியே: தலைகீழ் ப்ராக்ஸியை அமைக்கிறது

அதே விர்ச்சுவல் ஹோஸ்ட் அமைப்புகளில், சூழல் தாவலைத் திறந்து, ப்ராக்ஸி வகையின் புதிய சூழலை உருவாக்கவும்:

Nextcloud உள்ளே மற்றும் OpenLiteSpeed ​​வெளியே: தலைகீழ் ப்ராக்ஸியை அமைக்கிறது

அளவுருக்களைக் குறிப்பிடவும்: URI = /, Web server = nextcloud_1 (முந்தைய படியிலிருந்து பெயர்)

Nextcloud உள்ளே மற்றும் OpenLiteSpeed ​​வெளியே: தலைகீழ் ப்ராக்ஸியை அமைக்கிறது

LSWS ஐ மீண்டும் தொடங்கவும். இது இணைய இடைமுகத்திலிருந்து ஒரே கிளிக்கில் செய்யப்படுகிறது, அற்புதங்கள்! (என்னில் உள்ள பரம்பரை சுட்டி கேரியர் பேசுகிறது)

Nextcloud உள்ளே மற்றும் OpenLiteSpeed ​​வெளியே: தலைகீழ் ப்ராக்ஸியை அமைக்கிறது
Nextcloud உள்ளே மற்றும் OpenLiteSpeed ​​வெளியே: தலைகீழ் ப்ராக்ஸியை அமைக்கிறது

  • நாங்கள் சான்றிதழை நிறுவி https உள்ளமைக்கிறோம்.
    சான்றிதழைப் பெறுவதற்கான நடைமுறை நாங்கள் அதைத் தவிர்த்துவிட்டு, எங்களிடம் ஏற்கனவே உள்ளது என்பதை ஒப்புக்கொள்வோம், மேலும் அது /etc/letsencrypt/live/cloud.connect.link கோப்பகத்தில் உள்ள விசையுடன் உள்ளது.

"கேட்பவர்" (கேட்பவர்கள் > சேர்) உருவாக்குவோம், அதை "https" என்று அழைக்கவும். அதை போர்ட் 443 க்கு சுட்டிக்காட்டுவோம், அது பாதுகாப்பாக இருக்கும் என்பதை நினைவில் கொள்க:

Nextcloud உள்ளே மற்றும் OpenLiteSpeed ​​வெளியே: தலைகீழ் ப்ராக்ஸியை அமைக்கிறது

SSL தாவலில், விசை மற்றும் சான்றிதழுக்கான பாதையைக் குறிக்கவும்:

Nextcloud உள்ளே மற்றும் OpenLiteSpeed ​​வெளியே: தலைகீழ் ப்ராக்ஸியை அமைக்கிறது

"கேட்பவர்" உருவாக்கப்பட்டது, இப்போது விர்ச்சுவல் ஹோஸ்ட் மேப்பிங்ஸ் பிரிவில் எங்கள் மெய்நிகர் ஹோஸ்டைச் சேர்ப்போம்:

Nextcloud உள்ளே மற்றும் OpenLiteSpeed ​​வெளியே: தலைகீழ் ப்ராக்ஸியை அமைக்கிறது

LSWS ஒரு சேவைக்கு மட்டும் ப்ராக்ஸி செய்தால், உள்ளமைவை முடிக்க முடியும். ஆனால் டொமைன் பெயரைப் பொறுத்து வெவ்வேறு "அதிகாரிகளுக்கு" கோரிக்கைகளை அனுப்ப இதைப் பயன்படுத்த திட்டமிட்டுள்ளோம். மேலும் அனைத்து டொமைன்களுக்கும் அவற்றின் சொந்த சான்றிதழ்கள் இருக்கும். எனவே, நீங்கள் மெய்நிகர் ஹோஸ்ட் கட்டமைப்பிற்குச் சென்று அதன் விசை மற்றும் சான்றிதழை SSL தாவலில் மீண்டும் குறிப்பிட வேண்டும். எதிர்காலத்தில், ஒவ்வொரு புதிய மெய்நிகர் ஹோஸ்டுக்கும் இது செய்யப்பட வேண்டும்.

Nextcloud உள்ளே மற்றும் OpenLiteSpeed ​​வெளியே: தலைகீழ் ப்ராக்ஸியை அமைக்கிறது

url மீண்டும் எழுதுவதை உள்ளமைப்பது மட்டுமே எஞ்சியுள்ளது, இதனால் http கோரிக்கைகள் httpsக்கு அனுப்பப்படும்.
(இதன் மூலம், இது எப்போது முடிவடையும்? உலாவிகள் மற்றும் பிற மென்பொருட்கள் இயல்பாக https க்கு மாறுவதற்கான நேரம் இது, தேவைப்பட்டால் கைமுறையாக இல்லை-SSLக்கு அனுப்பவும்).
மீண்டும் எழுதுவதை இயக்கு என்பதை இயக்கி, மீண்டும் எழுதும் விதிகளை எழுதவும்:

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

Nextcloud உள்ளே மற்றும் OpenLiteSpeed ​​வெளியே: தலைகீழ் ப்ராக்ஸியை அமைக்கிறது

ஒரு விசித்திரமான தவறான புரிதலின் காரணமாக, வழக்கமான கிரேஸ்ஃபுல் மறுதொடக்கத்தைப் பயன்படுத்தி மீண்டும் எழுதும் விதிகளைப் பயன்படுத்த முடியாது. எனவே, LSWS ஐ லாவகமாக மறுதொடக்கம் செய்வோம், ஆனால் தோராயமாக மற்றும் திறம்பட:

sudo systemctl lsws.service ஐ மறுதொடக்கம் செய்யுங்கள்

சேவையகம் போர்ட் 80 ஐக் கேட்க, நாங்கள் மற்றொரு கேட்பவரை உருவாக்குவோம். அதை http என்று அழைப்போம், 80வது போர்ட் மற்றும் அது பாதுகாப்பற்றதாக இருக்கும் என்பதைக் குறிக்கவும்:

Nextcloud உள்ளே மற்றும் OpenLiteSpeed ​​வெளியே: தலைகீழ் ப்ராக்ஸியை அமைக்கிறது

https கேட்பவரை அமைப்பதன் மூலம், நமது மெய்நிகர் ஹோஸ்ட்டை அதற்கு வரைபடமாக்குவோம்.

இப்போது LSWS போர்ட் 80ஐக் கேட்டு அதிலிருந்து கோரிக்கைகளை 443க்கு அனுப்பும், urlஐ மீண்டும் எழுதும்.
இறுதியாக, LSWS லாக்கிங் அளவைக் குறைக்க பரிந்துரைக்கிறேன், இது இயல்பாகவே பிழைத்திருத்தத்திற்கு அமைக்கப்பட்டுள்ளது. இந்த முறையில், பதிவுகள் மின்னல் வேகத்தில் பெருகும்! பெரும்பாலான சந்தர்ப்பங்களில், எச்சரிக்கை நிலை போதுமானது. சர்வர் உள்ளமைவு > பதிவுக்கு செல்க:

Nextcloud உள்ளே மற்றும் OpenLiteSpeed ​​வெளியே: தலைகீழ் ப்ராக்ஸியை அமைக்கிறது

இது OpenLiteSpeed ​​இன் உள்ளமைவை தலைகீழ் ப்ராக்ஸியாக நிறைவு செய்கிறது. மீண்டும் LSWSஐ மறுதொடக்கம் செய்கிறோம், இணைப்பைப் பின்தொடரவும் https://cloud.connect.link மற்றும் நாம் பார்க்கிறோம்:

Nextcloud உள்ளே மற்றும் OpenLiteSpeed ​​வெளியே: தலைகீழ் ப்ராக்ஸியை அமைக்கிறது

Nextcloud எங்களை அனுமதிக்க, நாங்கள் நம்பகமானவர்களின் பட்டியலில் cloud.connect.link என்ற டொமைனைச் சேர்க்க வேண்டும். 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',
),

Nextcloud உள்ளே மற்றும் OpenLiteSpeed ​​வெளியே: தலைகீழ் ப்ராக்ஸியை அமைக்கிறது

அடுத்து, அதே கட்டமைப்பில் நீங்கள் எங்கள் ப்ராக்ஸியின் ஐபி முகவரியைக் குறிப்பிட வேண்டும். நெக்ஸ்ட் கிளவுட் சேவையகத்திற்குத் தெரியும் முகவரியாகக் குறிப்பிடப்பட வேண்டும் என்பதை நினைவில் கொள்ளவும், அதாவது. LSWS உள்ளூர் இடைமுகம் IP. இந்த படி இல்லாமல், Nextcloud இணைய இடைமுகம் வேலை செய்கிறது, ஆனால் பயன்பாடுகள் அங்கீகரிக்கப்படவில்லை.

'trusted_proxies' =>
வரிசை (
0 => '172.16.22.100',
),

நல்லது, இதற்குப் பிறகு நாம் அங்கீகார இடைமுகத்தைப் பெறலாம்:

Nextcloud உள்ளே மற்றும் OpenLiteSpeed ​​வெளியே: தலைகீழ் ப்ராக்ஸியை அமைக்கிறது

பிரச்சினை தீர்ந்துவிட்டது! இப்போது ஒவ்வொரு வாடிக்கையாளரும் தங்கள் தனிப்பட்ட URL ஐப் பயன்படுத்தி "கோப்பு கிளவுட்" ஐப் பாதுகாப்பாகப் பயன்படுத்தலாம், கோப்புகளுடன் கூடிய சேவையகம் இணையத்திலிருந்து பிரிக்கப்பட்டுள்ளது, எதிர்கால வாடிக்கையாளர்கள் எல்லாவற்றையும் ஒரே மாதிரியாகப் பெறுவார்கள், மேலும் ஒரு கூடுதல் IP முகவரி கூட பாதிக்கப்படாது.
கூடுதலாக, நிலையான உள்ளடக்கத்தை வழங்க, நீங்கள் ஒரு தலைகீழ் ப்ராக்ஸியைப் பயன்படுத்தலாம், ஆனால் Nextcloud விஷயத்தில் இது வேகத்தில் குறிப்பிடத்தக்க அதிகரிப்பைக் கொடுக்காது. எனவே இது விருப்பமானது மற்றும் விருப்பமானது.

இந்த கதையை பகிர்ந்து கொள்வதில் மகிழ்ச்சி அடைகிறேன், இது ஒருவருக்கு பயனுள்ளதாக இருக்கும் என்று நம்புகிறேன். இந்த சிக்கலைத் தீர்ப்பதற்கான மிகவும் நேர்த்தியான மற்றும் பயனுள்ள முறைகள் உங்களுக்குத் தெரிந்தால், உங்கள் கருத்துகளுக்கு நான் நன்றியுள்ளவனாக இருப்பேன்!

ஆதாரம்: www.habr.com

கருத்தைச் சேர்