OpenLiteSpeed ​​లోపల మరియు వెలుపల Nextcloud: రివర్స్ ప్రాక్సింగ్‌ని సెటప్ చేయండి

ఇంటర్నల్ నెట్‌వర్క్‌లో Nextcloudకి రివర్స్ ప్రాక్సీకి OpenLiteSpeedని ఎలా సెటప్ చేయాలి?

ఆశ్చర్యకరంగా, OpenLiteSpeed ​​కోసం Habréలో శోధన ఏమీ ఇవ్వదు! నేను ఈ అన్యాయాన్ని సరిదిద్దడానికి తొందరపడుతున్నాను, ఎందుకంటే LSWS ఒక మంచి వెబ్ సర్వర్. దాని వేగం మరియు ఫాన్సీ వెబ్ అడ్మినిస్ట్రేషన్ ఇంటర్‌ఫేస్ కోసం నేను దీన్ని ఇష్టపడుతున్నాను:

OpenLiteSpeed ​​లోపల మరియు వెలుపల Nextcloud: రివర్స్ ప్రాక్సింగ్‌ని సెటప్ చేయండి

OpenLiteSpeed ​​అనేది WordPress "యాక్సిలరేటర్"గా ప్రసిద్ధి చెందినప్పటికీ, నేటి వ్యాసంలో నేను దాని యొక్క నిర్దిష్ట ఉపయోగాన్ని చూపుతాను. అభ్యర్థనల రివర్స్ ప్రాక్సీ (రివర్స్ ప్రాక్సీ). దీని కోసం nginxని ఉపయోగించడం సర్వసాధారణమని మీరు అంటున్నారు? నేను అంగీకరిస్తాను. కానీ మేము LSWSతో ప్రేమలో పడినందుకు చాలా బాధ కలిగింది!

ప్రాక్సీ చేయడం సరే, కానీ ఎక్కడ? తక్కువ అద్భుతమైన సేవలో - Nextcloud. మేము ప్రైవేట్ "ఫైల్-షేరింగ్ క్లౌడ్‌లను" సృష్టించడానికి Nextcloudని ఉపయోగిస్తాము. ప్రతి క్లయింట్ కోసం, మేము Nextcloudతో ప్రత్యేక VMని కేటాయిస్తాము మరియు మేము వాటిని "బయట" బహిర్గతం చేయకూడదనుకుంటున్నాము. బదులుగా, మేము సాధారణ రివర్స్ ప్రాక్సీ ద్వారా అభ్యర్థనలను ప్రాక్సీ చేస్తాము. ఈ పరిష్కారం అనుమతిస్తుంది:
1) క్లయింట్ డేటా ఇంటర్నెట్ నుండి నిల్వ చేయబడిన సర్వర్‌ను తీసివేయండి మరియు
2) ip-చిరునామాలను సేవ్ చేయండి.

పథకం ఇలా ఉంది:

OpenLiteSpeed ​​లోపల మరియు వెలుపల Nextcloud: రివర్స్ ప్రాక్సింగ్‌ని సెటప్ చేయండి

పథకం సరళీకృతం చేయబడిందని స్పష్టంగా తెలుస్తుంది, ఎందుకంటే వెబ్ సేవల మౌలిక సదుపాయాల సంస్థ నేటి కథనం యొక్క అంశం కాదు.

ఈ ఆర్టికల్‌లో నేను నెక్స్ట్‌క్లౌడ్ యొక్క ఇన్‌స్టాలేషన్ మరియు ప్రాథమిక కాన్ఫిగరేషన్‌ను వదిలివేస్తాను, ప్రత్యేకించి హబ్రేలో ఈ అంశంపై మెటీరియల్స్ ఉన్నందున. కానీ నేను ఖచ్చితంగా సెట్టింగ్‌లను చూపుతాను, అది లేకుండా Nextcloud ప్రాక్సీ వెనుక పనిచేయదు.

May:
Nextcloud హోస్ట్ 1లో ఇన్‌స్టాల్ చేయబడింది మరియు http (SSL లేకుండా) పని చేయడానికి కాన్ఫిగర్ చేయబడింది, స్థానిక నెట్‌వర్క్ ఇంటర్‌ఫేస్ మరియు "గ్రే" IP చిరునామా 172.16.22.110 మాత్రమే ఉంది.
హోస్ట్ 2లో ఓపెన్‌లైట్‌స్పీడ్‌ను కాన్ఫిగర్ చేద్దాం. ఇది నెట్‌వర్క్ 172.16.22.0/24లో IP చిరునామాతో బాహ్య (ఇంటర్నెట్‌కు కనిపిస్తుంది) మరియు అంతర్గతంగా రెండు ఇంటర్‌ఫేస్‌లను కలిగి ఉంది.
హోస్ట్ 2 యొక్క బాహ్య ఇంటర్‌ఫేస్ IP చిరునామా DNS పేరు cloud.connect.link

ఆబ్జెక్టివ్:
లింక్ ద్వారా ఇంటర్నెట్ నుండి పొందండి 'https://cloud.connect.linkఅంతర్గత నెట్‌వర్క్‌లో Nextcloudకి (SSL).

  • ఉబుంటు 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 డిఫాల్ట్ ఇన్‌కమింగ్‌ను నిరాకరిస్తుంది
    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}
    సుడో చౌన్ lsadm:lsadm ./conf/

LSWS వెబ్ ఇంటర్‌ఫేస్ నుండి వర్చువల్ హోస్ట్‌ని కాన్ఫిగర్ చేద్దాం.
url నిర్వహణను తెరవండి http://cloud.connect.link:7080
డిఫాల్ట్ లాగిన్/పాస్‌వర్డ్: admin/123456

OpenLiteSpeed ​​లోపల మరియు వెలుపల Nextcloud: రివర్స్ ప్రాక్సింగ్‌ని సెటప్ చేయండి

వర్చువల్ హోస్ట్‌ని జోడించండి (వర్చువల్ హోస్ట్‌లు > యాడ్).
జోడించేటప్పుడు, దోష సందేశం కనిపిస్తుంది - కాన్ఫిగరేషన్ ఫైల్ లేదు. ఇది సాధారణం, సృష్టించడానికి క్లిక్ చేయడం ద్వారా పరిష్కరించబడుతుంది.

OpenLiteSpeed ​​లోపల మరియు వెలుపల Nextcloud: రివర్స్ ప్రాక్సింగ్‌ని సెటప్ చేయండి

జనరల్ ట్యాబ్‌లో, డాక్యుమెంట్ రూట్‌ను పేర్కొనండి (అది అవసరం లేనప్పటికీ, కాన్ఫిగర్ అది లేకుండా టేకాఫ్ చేయబడదు). డొమైన్ పేరు, పేర్కొనబడకపోతే, మేము మా డొమైన్ పేరు పేరు పెట్టిన వర్చువల్ హోస్ట్ పేరు నుండి తీసుకోబడుతుంది.

OpenLiteSpeed ​​లోపల మరియు వెలుపల Nextcloud: రివర్స్ ప్రాక్సింగ్‌ని సెటప్ చేయండి

ఇప్పుడు మనకు వెబ్ సర్వర్ మాత్రమే కాకుండా రివర్స్ ప్రాక్సీ ఉందని గుర్తుంచుకోవాల్సిన సమయం వచ్చింది. కింది సెట్టింగ్‌లు LSWSకి ఏమి ప్రాక్సీ చేయాలి మరియు ఎక్కడ చెప్పాలి. వర్చువల్ హోస్ట్ సెట్టింగ్‌లలో, బాహ్య యాప్ ట్యాబ్‌ని తెరిచి, వెబ్ సర్వర్ రకం యొక్క కొత్త అప్లికేషన్‌ను జోడించండి:

OpenLiteSpeed ​​లోపల మరియు వెలుపల Nextcloud: రివర్స్ ప్రాక్సింగ్‌ని సెటప్ చేయండి

పేరు మరియు చిరునామాను పేర్కొనండి. మీరు ఏకపక్ష పేరును పేర్కొనవచ్చు, కానీ మీరు దానిని గుర్తుంచుకోవాలి, తదుపరి దశల్లో ఇది ఉపయోగపడుతుంది. నెక్స్ట్‌క్లౌడ్ అంతర్గత నెట్‌వర్క్‌లో నివసించే చిరునామా:

OpenLiteSpeed ​​లోపల మరియు వెలుపల Nextcloud: రివర్స్ ప్రాక్సింగ్‌ని సెటప్ చేయండి

అదే వర్చువల్ హోస్ట్ సెట్టింగ్‌లలో, సందర్భ ట్యాబ్‌ను తెరిచి, ప్రాక్సీ రకం యొక్క కొత్త సందర్భాన్ని సృష్టించండి:

OpenLiteSpeed ​​లోపల మరియు వెలుపల Nextcloud: రివర్స్ ప్రాక్సింగ్‌ని సెటప్ చేయండి

పారామితులను పేర్కొనండి: URI = /, వెబ్ సర్వర్ = nextcloud_1 (మునుపటి దశ నుండి పేరు)

OpenLiteSpeed ​​లోపల మరియు వెలుపల Nextcloud: రివర్స్ ప్రాక్సింగ్‌ని సెటప్ చేయండి

LSWSని పునఃప్రారంభించండి. ఇది వెబ్ ఇంటర్‌ఫేస్ నుండి ఒక క్లిక్‌తో చేయబడుతుంది, అద్భుతాలు! (ఒక వంశపారంపర్య మౌస్ క్యారియర్ నాలో మాట్లాడుతుంది)

OpenLiteSpeed ​​లోపల మరియు వెలుపల Nextcloud: రివర్స్ ప్రాక్సింగ్‌ని సెటప్ చేయండి
OpenLiteSpeed ​​లోపల మరియు వెలుపల Nextcloud: రివర్స్ ప్రాక్సింగ్‌ని సెటప్ చేయండి

  • మేము సర్టిఫికేట్‌ను ఉంచాము, httpsని కాన్ఫిగర్ చేస్తాము.
    సర్టిఫికేట్ పొందే విధానం మేము దానిని విస్మరిస్తాము, మేము ఇప్పటికే దానిని కలిగి ఉన్నామని అంగీకరిస్తాము మరియు /etc/letsencrypt/live/cloud.connect.link డైరెక్టరీలో కీని కలిగి ఉన్నాము.

మనం "వినేవారు" (శ్రోతలు > జోడించు) సృష్టిద్దాం, దానిని "https" అని పిలుద్దాం. దీన్ని పోర్ట్ 443కి సూచించండి మరియు ఇది సురక్షితంగా ఉంటుందని గమనించండి:

OpenLiteSpeed ​​లోపల మరియు వెలుపల Nextcloud: రివర్స్ ప్రాక్సింగ్‌ని సెటప్ చేయండి

SSL ట్యాబ్‌లో, కీ మరియు ప్రమాణపత్రానికి మార్గాన్ని పేర్కొనండి:

OpenLiteSpeed ​​లోపల మరియు వెలుపల Nextcloud: రివర్స్ ప్రాక్సింగ్‌ని సెటప్ చేయండి

“వినేవాడు” సృష్టించబడింది, ఇప్పుడు వర్చువల్ హోస్ట్ మ్యాపింగ్‌ల విభాగంలో మనం దానికి మా వర్చువల్ హోస్ట్‌ని జోడిస్తాము:

OpenLiteSpeed ​​లోపల మరియు వెలుపల Nextcloud: రివర్స్ ప్రాక్సింగ్‌ని సెటప్ చేయండి

LSWS ఒక సేవకు మాత్రమే ప్రాక్సీ చేస్తే, కాన్ఫిగరేషన్ పూర్తి అవుతుంది. కానీ మేము డొమైన్ పేరును బట్టి వివిధ "ఉదాహరణలకు" అభ్యర్థనలను పంపడానికి దీన్ని ఉపయోగించాలని ప్లాన్ చేస్తున్నాము. మరియు అన్ని డొమైన్‌లు వాటి స్వంత సర్టిఫికేట్‌లను కలిగి ఉంటాయి. కాబట్టి, మీరు వర్చువల్ హోస్ట్ కాన్ఫిగరేషన్‌కి వెళ్లి, SSL ట్యాబ్‌లో దాని కీ మరియు సర్టిఫికేట్‌ను మళ్లీ పేర్కొనాలి. భవిష్యత్తులో, ప్రతి కొత్త వర్చువల్ హోస్ట్ కోసం ఇది చేయాలి.

OpenLiteSpeed ​​లోపల మరియు వెలుపల Nextcloud: రివర్స్ ప్రాక్సింగ్‌ని సెటప్ చేయండి

ఇది url రీరైటింగ్‌ను కాన్ఫిగర్ చేయడానికి మిగిలి ఉంది, తద్వారా http అభ్యర్థనలు httpsకి సంబోధించబడతాయి.
(అయితే, ఇది ఎప్పుడు ముగుస్తుంది? బ్రౌజర్‌లు మరియు ఇతర సాఫ్ట్‌వేర్‌లు డిఫాల్ట్‌గా httpsకి వెళ్లి, అవసరమైతే మాన్యువల్‌గా no-SSLకి ఫార్వార్డ్ చేయడానికి ఇది సమయం).
తిరిగి వ్రాయడాన్ని ప్రారంభించు మరియు తిరిగి వ్రాయడానికి నియమాలను వ్రాయండి:

RewriteCond %{SERVER_PORT} 80
రీరైట్ రూల్ ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

OpenLiteSpeed ​​లోపల మరియు వెలుపల Nextcloud: రివర్స్ ప్రాక్సింగ్‌ని సెటప్ చేయండి

విచిత్రమైన అపార్థం కారణంగా, సాధారణ గ్రేస్‌ఫుల్ రీస్టార్ట్‌తో రీరైట్ నియమాలను వర్తింపజేయడం అసాధ్యం. కాబట్టి, మేము LSWSని సునాయాసంగా కాకుండా మొరటుగా మరియు సమర్ధవంతంగా పునఃప్రారంభిస్తాము:

sudo systemctl lsws.serviceని పునఃప్రారంభించండి

సర్వర్ పోర్ట్ 80ని వినేలా చేయడానికి, మరొక లిజనర్‌ని క్రియేట్ చేద్దాం. దీన్ని http అని పిలుద్దాం, 80వ పోర్ట్‌ని పేర్కొనండి మరియు అది సురక్షితమైనది కాదు:

OpenLiteSpeed ​​లోపల మరియు వెలుపల Nextcloud: రివర్స్ ప్రాక్సింగ్‌ని సెటప్ చేయండి

https శ్రోత సెట్టింగ్‌తో సారూప్యతతో, మన వర్చువల్ హోస్ట్‌ని దానికి జత చేద్దాం.

ఇప్పుడు LSWS పోర్ట్ 80లో వింటుంది మరియు దాని నుండి 443కి అభ్యర్థనలను పంపుతుంది, urlని మళ్లీ వ్రాస్తుంది.
ముగింపులో, డిఫాల్ట్‌గా డీబగ్‌కు సెట్ చేయబడిన LSWS లాగింగ్ స్థాయిని తగ్గించాలని నేను సిఫార్సు చేస్తున్నాను. ఈ మోడ్‌లో, లాగ్‌లు మెరుపు వేగంతో గుణించబడతాయి! చాలా సందర్భాలలో, హెచ్చరిక స్థాయి సరిపోతుంది. సర్వర్ కాన్ఫిగరేషన్ > లాగ్‌కి వెళ్లండి:

OpenLiteSpeed ​​లోపల మరియు వెలుపల Nextcloud: రివర్స్ ప్రాక్సింగ్‌ని సెటప్ చేయండి

ఇది రివర్స్ ప్రాక్సీగా OpenLiteSpeed ​​యొక్క కాన్ఫిగరేషన్‌ను పూర్తి చేస్తుంది. మరోసారి, LSWSని పునఃప్రారంభించి, లింక్‌ని అనుసరించండి https://cloud.connect.link మరియు చూడండి:

OpenLiteSpeed ​​లోపల మరియు వెలుపల Nextcloud: రివర్స్ ప్రాక్సింగ్‌ని సెటప్ చేయండి

Nextcloud మమ్మల్ని అనుమతించడానికి, మేము విశ్వసనీయ జాబితాకు cloud.connect.link డొమైన్‌ను జోడించాలి. config.phpని సవరించండి. ఉబుంటును ఇన్‌స్టాల్ చేస్తున్నప్పుడు నేను నెక్స్ట్‌క్లౌడ్‌ని స్వయంచాలకంగా ఇన్‌స్టాల్ చేసాను మరియు కాన్ఫిగర్ ఇక్కడ ఉంది: /var/snap/nextcloud/current/nextcloud/config.
'cloud.connect.link' పరామితిని విశ్వసనీయ_డొమైన్‌ల కీకి జోడించండి:

'trusted_domains' =>
అమరిక (
0 => '172.16.22.110',
1 => 'Cloud.connect.link',
),

OpenLiteSpeed ​​లోపల మరియు వెలుపల Nextcloud: రివర్స్ ప్రాక్సింగ్‌ని సెటప్ చేయండి

ఇంకా, అదే కాన్ఫిగరేషన్‌లో, మీరు తప్పనిసరిగా మా ప్రాక్సీ యొక్క IP చిరునామాను పేర్కొనాలి. నెక్స్ట్‌క్లౌడ్ సర్వర్‌కు కనిపించే చిరునామా తప్పనిసరిగా పేర్కొనబడాలని నేను మీ దృష్టిని ఆకర్షిస్తున్నాను, అనగా. స్థానిక LSWS ఇంటర్‌ఫేస్ యొక్క IP. ఈ దశ లేకుండా, Nextcloud వెబ్ ఇంటర్‌ఫేస్ పనిచేస్తుంది, కానీ అప్లికేషన్‌లకు అధికారం లేదు.

'trusted_proxies' =>
అమరిక (
0 => '172.16.22.100',
),

చాలా బాగుంది, ఆ తర్వాత మనం అధికార ఇంటర్‌ఫేస్‌లోకి ప్రవేశించవచ్చు:

OpenLiteSpeed ​​లోపల మరియు వెలుపల Nextcloud: రివర్స్ ప్రాక్సింగ్‌ని సెటప్ చేయండి

సమస్య తీరింది! ఇప్పుడు ప్రతి క్లయింట్ తన స్వంత వ్యక్తిగత url వద్ద “ఫైల్ క్లౌడ్”ని సురక్షితంగా ఉపయోగించవచ్చు, ఫైల్‌లతో కూడిన సర్వర్ ఇంటర్నెట్ నుండి వేరు చేయబడింది, భవిష్యత్ క్లయింట్లు ప్రతిదీ ఒకే విధంగా స్వీకరిస్తారు మరియు ఒక్క అదనపు IP చిరునామా కూడా ప్రభావితం కాదు.
అదనంగా, మీరు స్టాటిక్ కంటెంట్‌ని బట్వాడా చేయడానికి రివర్స్ ప్రాక్సీని ఉపయోగించవచ్చు, కానీ Nextcloud విషయంలో, ఇది వేగంలో గుర్తించదగిన పెరుగుదలను అందించదు. కనుక ఇది ఐచ్ఛికం మరియు ఐచ్ఛికం.

ఈ కథనాన్ని పంచుకోవడం నాకు సంతోషంగా ఉంది, ఇది ఎవరికైనా ఉపయోగకరంగా ఉంటుందని నేను ఆశిస్తున్నాను. సమస్యను పరిష్కరించడానికి మీకు మరింత సొగసైన మరియు సమర్థవంతమైన పద్ధతులు తెలిస్తే, వ్యాఖ్యలకు నేను కృతజ్ఞుడను!

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి