اڳيون ڪلائوڊ اندر ۽ ٻاهر OpenLiteSpeed: ريورس پراکسي ترتيب ڏيڻ

آئون اندروني نيٽ ورڪ تي Nextcloud ڏانهن پراکسي کي ريورس ڪرڻ لاءِ OpenLiteSpeed ​​ڪيئن سيٽ اپ ڪريان؟

حيرت انگيز طور تي، OpenLiteSpeed ​​لاء Habré تي هڪ ڳولها ڪجهه به نٿو ڏئي! مان هن ناانصافي کي درست ڪرڻ ۾ جلدي ڪريان ٿو، ڇاڪاڻ ته LSWS هڪ مهذب ويب سرور آهي. مون کي ان جي رفتار ۽ فينسي ويب ايڊمنسٽريشن انٽرفيس لاءِ پسند آهي:

اڳيون ڪلائوڊ اندر ۽ ٻاهر OpenLiteSpeed: ريورس پراکسي ترتيب ڏيڻ

جيتوڻيڪ OpenLiteSpeed ​​هڪ ورڈپریس "تيز رفتار" جي طور تي تمام گهڻو مشهور آهي، اڄ جي آرٽيڪل ۾ آئون ان جو هڪ خاص استعمال ڏيکاريندس. يعني درخواستن جي ريورس پراڪسينگ (ريورس پراڪسي). توهان چئو ٿا ته هن لاء nginx استعمال ڪرڻ وڌيڪ عام آهي؟ مان قبول ڪندس. پر اهو ڏاڍو ڏک ٿيو ته اسان LSWS سان پيار ۾ پئجي ويا!

پراڪسنگ ٺيڪ آهي، پر ڪٿي؟ ڪابه گهٽ شاندار خدمت ۾ - Nextcloud. اسان نجي "فائل شيئرنگ ڪلاؤڊ" ٺاهڻ لاءِ Nextcloud استعمال ڪندا آهيون. هر ڪلائنٽ لاءِ، اسان هڪ الڳ VM مختص ڪريون ٿا Nextcloud سان، ۽ اسان نٿا چاهيون ته انهن کي ”ٻاهر“ بي نقاب ڪرڻ. ان جي بدران، اسان هڪ عام ريورس پراکسي ذريعي پراکسي درخواستون. هي حل اجازت ڏئي ٿو:
1) سرور کي هٽايو جنهن تي ڪلائنٽ ڊيٽا انٽرنيٽ تان محفوظ ٿيل آهي ۽
2) ايپ ايڊريس محفوظ ڪريو.

ڊاگرام هن ريت نظر اچي ٿو:

اڳيون ڪلائوڊ اندر ۽ ٻاهر OpenLiteSpeed: ريورس پراکسي ترتيب ڏيڻ

اهو واضح آهي ته اسڪيم آسان آهي، ڇاڪاڻ ته ويب سروسز انفراسٽرڪچر جي تنظيم اڄ جي مضمون جو موضوع نه آهي.

هن آرٽيڪل ۾ پڻ آئون ايندڙ ڪلائوڊ جي انسٽاليشن ۽ بنيادي تشڪيل کي ڇڏي ڏيندس، خاص طور تي جڏهن ته هن موضوع تي مواد موجود آهن Habré. پر مان ضرور ڏيکاريندس سيٽنگون، جنهن جي بغير Nextcloud پراکسي جي پويان ڪم نه ڪندو.

ڏنو ويو:
Nextcloud ميزبان 1 تي انسٽال ٿيل آهي ۽ http (SSL کان سواءِ) تي ڪم ڪرڻ لاءِ ترتيب ڏنل آهي، صرف هڪ مقامي نيٽ ورڪ انٽرفيس آهي ۽ هڪ "گرين" IP پتو 172.16.22.110.
اچو ته OpenLiteSpeed ​​کي ميزبان 2 تي ترتيب ڏيون. ان ۾ ٻه انٽرفيس آھن، بيروني (انٽرنيٽ ڏانھن ڏسجي ٿو) ۽ اندروني آھي IP پتي سان نيٽ ورڪ 172.16.22.0/24
ميزبان 2 جي خارجي انٽرفيس جو IP پتو آهي DNS نالو cloud.connect.link

ٽاسڪ
لنڪ ذريعي انٽرنيٽ تان حاصل ڪريو 'https://cloud.connect.link' (SSL) اندروني نيٽ ورڪ تي Nextcloud ڏانهن.

  • Ubuntu 18.04.2 تي OpenLiteSpeed ​​انسٽال ڪرڻ.

اچو ته هڪ ذخيرو شامل ڪريو:

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

انسٽال ڪريو، هلائڻ:

sudo apt-get install openlitespeed
sudo /usr/local/lsws/bin/lswsctrl شروع

  • گھٽ ۾ گھٽ فائر وال سيٽ اپ.

    سودو فو کي ايس ايس جي اجازت ڏئي ٿي
    sudo ufw ڊفالٽ ٻاهر وڃڻ جي اجازت ڏيو
    sudo ufw default incoming
    sudo ufw جي اجازت ڏيو http
    sudo ufw allowhttps
    sudo ufw کان اجازت ڏيو توهان جو انتظام ميزبان ڪنهن به بندرگاهه 7080 ڏانهن
    سدو ufw قابل

  • هڪ ريورس پراکسي طور 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 ويب انٽرفيس مان ورچوئل ميزبان کي ترتيب ڏيون.
يو آر ايل مينيجمينٽ کوليو http://cloud.connect.link:7080
ڊفالٽ لاگ ان/پاسورڊ: منتظم/123456

اڳيون ڪلائوڊ اندر ۽ ٻاهر OpenLiteSpeed: ريورس پراکسي ترتيب ڏيڻ

ورچوئل ھوسٽ شامل ڪريو (ورچوئل ھوسٽز > شامل ڪريو).
شامل ڪرڻ وقت، هڪ نقص پيغام ظاهر ٿيندو - ترتيب واري فائل غائب آهي. اهو عام آهي، ڪلڪ ڪري حل ڪيو ڪلڪ ڪرڻ لاءِ ڪلڪ ڪريو.

اڳيون ڪلائوڊ اندر ۽ ٻاهر OpenLiteSpeed: ريورس پراکسي ترتيب ڏيڻ

جنرل ٽئب ۾، دستاويز جي روٽ کي بيان ڪريو (جيتوڻيڪ ان جي ضرورت نه آهي، ترتيب ان کان سواء بند نه ٿيندي). ڊومين جو نالو، جيڪڏھن بيان نه ڪيو ويو آھي، ورچوئل ھوسٽ نالو مان ورتو ويندو، جيڪو اسان پنھنجي ڊومين جو نالو رکيو آھي.

اڳيون ڪلائوڊ اندر ۽ ٻاهر OpenLiteSpeed: ريورس پراکسي ترتيب ڏيڻ

هاڻي اهو ياد رکڻ جو وقت آهي ته اسان وٽ صرف هڪ ويب سرور ناهي، پر هڪ ريورس پراکسي. هيٺيون سيٽنگون LSWS کي ٻڌائينديون ته پراڪسي ڇا ڪجي ۽ ڪٿي. virtualhost سيٽنگون ۾، کوليو خارجي ايپ ٽيب ۽ شامل ڪريو نئين ايپليڪيشن ويب سرور جي قسم:

اڳيون ڪلائوڊ اندر ۽ ٻاهر OpenLiteSpeed: ريورس پراکسي ترتيب ڏيڻ

نالو ۽ پتو بيان ڪريو. توهان هڪ صوابديدي نالو بيان ڪري سگهو ٿا، پر توهان کي ان کي ياد رکڻ جي ضرورت آهي، اهو ايندڙ مرحلن ۾ ڪم ۾ ايندو. ايڊريس اھو آھي جتي Nextcloud اندروني نيٽ ورڪ ۾ رھندو آھي:

اڳيون ڪلائوڊ اندر ۽ ٻاهر OpenLiteSpeed: ريورس پراکسي ترتيب ڏيڻ

ساڳئي ورچوئل هوسٽ سيٽنگن ۾، Context ٽئب کوليو ۽ Proxy قسم جو نئون حوالو ٺاهيو:

اڳيون ڪلائوڊ اندر ۽ ٻاهر OpenLiteSpeed: ريورس پراکسي ترتيب ڏيڻ

وضاحت ڪريو پيرا ميٽرز: URI = /، ويب سرور = nextcloud_1 (نالو پوئين قدم کان)

اڳيون ڪلائوڊ اندر ۽ ٻاهر OpenLiteSpeed: ريورس پراکسي ترتيب ڏيڻ

LSWS ٻيهر شروع ڪريو. اهو ڪيو ويو آهي هڪ ڪلڪ سان ويب انٽرفيس مان، معجزا! (هڪ موروثي ماؤس ڪيريئر مون ۾ ڳالهائي ٿو)

اڳيون ڪلائوڊ اندر ۽ ٻاهر OpenLiteSpeed: ريورس پراکسي ترتيب ڏيڻ
اڳيون ڪلائوڊ اندر ۽ ٻاهر OpenLiteSpeed: ريورس پراکسي ترتيب ڏيڻ

  • اسان سرٽيفڪيٽ رکون ٿا، https ترتيب ڏيو.
    سرٽيفڪيٽ حاصل ڪرڻ جو طريقو اسان ان کي ڇڏي ڏينداسين، متفق آهيون ته اسان وٽ اڳ ۾ ئي آهي ۽ /etc/letsencrypt/live/cloud.connect.link ڊاريڪٽري ۾ ڪنجي سان ڪوڙ.

اچو ته هڪ "ٻڌندڙ" (ٻڌندڙ > شامل ڪريو) ٺاهيو، اچو ته ان کي "https" سڏين. ان کي پورٽ 443 ڏانهن اشارو ڪريو ۽ نوٽ ڪريو ته اهو محفوظ ٿيندو:

اڳيون ڪلائوڊ اندر ۽ ٻاهر OpenLiteSpeed: ريورس پراکسي ترتيب ڏيڻ

SSL ٽيب ۾، چيڪ ۽ سرٽيفڪيٽ جو رستو بيان ڪريو:

اڳيون ڪلائوڊ اندر ۽ ٻاهر OpenLiteSpeed: ريورس پراکسي ترتيب ڏيڻ

”ٻڌندڙ“ ٺاھيو ويو آھي، ھاڻي ورچوئل ھوسٽ ميپنگ سيڪشن ۾ اسان پنھنجي ورچوئل ھوسٽ کي ان ۾ شامل ڪنداسين:

اڳيون ڪلائوڊ اندر ۽ ٻاهر OpenLiteSpeed: ريورس پراکسي ترتيب ڏيڻ

جيڪڏهن LSWS صرف هڪ خدمت کي پراکسي ڪندو، ترتيب مڪمل ٿي سگهي ٿي. پر اسان ان کي استعمال ڪرڻ جي رٿابندي ڪريون ٿا درخواستون موڪلڻ لاءِ مختلف ”مثالن“ تي منحصر ڪري ڊومين جي نالي تي. ۽ سڀني ڊومينز وٽ پنهنجا سرٽيفڪيٽ هوندا. تنهن ڪري، توهان کي وڃڻ جي ضرورت آهي virtualhost config ۽ ٻيهر وضاحت ڪريو ان جي ڪي ۽ سرٽيفڪيٽ SSL ٽيب ۾. مستقبل ۾، اهو هر نئين مجازي ميزبان لاء ڪيو وڃي.

اڳيون ڪلائوڊ اندر ۽ ٻاهر OpenLiteSpeed: ريورس پراکسي ترتيب ڏيڻ

اهو url ٻيهر لکڻ جي ترتيب ڏيڻ لاء رهي ٿو ته جيئن http جي درخواستن کي https ڏانهن خطاب ڪيو وڃي.
(انهي سان، اهو ڪڏهن ختم ٿيندو؟ اهو وقت آهي برائوزرن ۽ ٻين سافٽ ويئرن لاءِ https ڏانهن وڃڻ لاءِ ڊفالٽ طور، ۽ اڳتي وڌو no-SSL دستي طور تي جيڪڏهن ضروري هجي).
ٻيهر لکڻ کي چالو ڪريو ۽ ٻيهر لکڻ جا قاعدا لکو:

RewriteCond %{SERVER_PORT} 80
RewriteRule ^( ) .$ https://%{SERVER_NAME}%{REQUEST_URI} [ر = 301، ايل]

اڳيون ڪلائوڊ اندر ۽ ٻاهر OpenLiteSpeed: ريورس پراکسي ترتيب ڏيڻ

هڪ عجيب غلط فهمي جي ڪري، اهو ناممڪن آهي ته ٻيهر لکڻ جي ضابطن کي معمول سان ٻيهر شروع ڪرڻ سان. تنهن ڪري، اسان LSWS کي شاندار طور تي نه، پر بي رحم ۽ موثر طريقي سان ٻيهر شروع ڪنداسين:

sudo systemctl ٻيهر شروع ڪريو lsws.service

سرور کي ٻڌڻ لاءِ پورٽ 80، اچو ته هڪ ٻيو ٻڌندڙ ٺاهيو. اچو ته ان کي سڏيو http، 80 هين بندرگاهن جي وضاحت ڪريو ۽ اهو غير محفوظ هوندو:

اڳيون ڪلائوڊ اندر ۽ ٻاهر OpenLiteSpeed: ريورس پراکسي ترتيب ڏيڻ

https ٻڌندڙ سيٽنگ سان قياس ڪندي، اچو ته اسان جي ورچوئل ميزبان کي ان سان ڳنڍيون.

هاڻي LSWS بندرگاهه 80 تي ٻڌندو ۽ ان کان 443 تي درخواستون موڪليندو، يو آر ايل کي ٻيهر لکندو.
نتيجي ۾، مان LSWS لاگنگ ليول کي گھٽ ڪرڻ جي صلاح ڏيان ٿو، جيڪو ڊفالٽ طور ڊيبگ تي مقرر ٿيل آهي. هن موڊ ۾، لاگ ان کي روشني جي رفتار تي وڌندا آهن! اڪثر ڪيسن لاء، ڊيڄاريندڙ سطح ڪافي آهي. وڃو سرور جي ٺاھ جوڙ> لاگ:

اڳيون ڪلائوڊ اندر ۽ ٻاهر OpenLiteSpeed: ريورس پراکسي ترتيب ڏيڻ

هي OpenLiteSpeed ​​جي ترتيب کي مڪمل ڪري ٿو ريورس پراکسي جي طور تي. هڪ ڀيرو ٻيهر، LSWS ٻيهر شروع ڪريو، لنڪ جي پيروي ڪريو https://cloud.connect.link ۽ اسان ڏسون ٿا:

اڳيون ڪلائوڊ اندر ۽ ٻاهر OpenLiteSpeed: ريورس پراکسي ترتيب ڏيڻ

Nextcloud لاءِ اسان کي اندر اچڻ لاءِ، اسان کي Cloud.connect.link ڊومين کي قابل اعتماد لسٽ ۾ شامل ڪرڻ جي ضرورت آهي. اچو ته ايڊٽ ڪريون config.php. مون پاڻمرادو انسٽال ڪيو Nextcloud جڏهن Ubuntu انسٽال ڪيو ۽ config هتي موجود آهي: /var/snap/nextcloud/current/nextcloud/config.
شامل ڪريو 'cloud.connect.link' پيراميٽر ڀروسو_ڊومين ڪي ۾:

'trusted_domains' =>
صف (
0 => '172.16.22.110' ،
1 => 'Cloud.connect.link',
),

اڳيون ڪلائوڊ اندر ۽ ٻاهر OpenLiteSpeed: ريورس پراکسي ترتيب ڏيڻ

وڌيڪ، ساڳئي ترتيب ۾، توهان کي اسان جي پراکسي جو IP پتو بيان ڪرڻ گهرجي. مان توهان جو ڌيان ان حقيقت ڏانهن ڇڪايان ٿو ته پتو ضرور بيان ڪيو وڃي جيڪو ايندڙ ڪلائوڊ سرور تي نظر اچي ٿو، يعني. مقامي LSWS انٽرفيس جو IP. هن قدم کان سواء، Nextcloud ويب انٽرفيس ڪم ڪندو، پر ايپليڪيشنون مجاز نه آهن.

'trusted_proxies' =>
صف (
0 => '172.16.22.100' ،
),

عظيم، ان کان پوء اسان اجازت ڏيڻ واري انٽرفيس ۾ حاصل ڪري سگھون ٿا:

اڳيون ڪلائوڊ اندر ۽ ٻاهر OpenLiteSpeed: ريورس پراکسي ترتيب ڏيڻ

مسئلو حل ٿي ويو! هاڻي هر ڪلائنٽ محفوظ طور تي استعمال ڪري سگهي ٿو "فائل ڪلائوڊ" پنهنجي ذاتي url تي، فائلن سان سرور انٽرنيٽ کان الڳ ٿي ويو آهي، مستقبل جي ڪلائنٽ هر شيء ساڳئي وصول ڪندا ۽ هڪ اضافي IP پتو متاثر نه ٿيندو.
اضافي طور تي، توهان جامد مواد پهچائڻ لاء ريورس پراکسي استعمال ڪري سگهو ٿا، پر Nextcloud جي صورت ۾، اهو رفتار ۾ قابل ذڪر اضافو نه ڏيندو. تنهنڪري اهو اختياري ۽ اختياري آهي.

مان هن ڪهاڻي کي حصيداري ڪرڻ ۾ خوش آهيان، مون کي اميد آهي ته اهو ڪنهن لاء ڪارائتو هوندو. جيڪڏهن توهان مسئلي کي حل ڪرڻ لاء وڌيڪ خوبصورت ۽ موثر طريقا ڄاڻو ٿا، آئون تبصرن لاء شڪرگذار ٿيندس!

جو ذريعو: www.habr.com

تبصرو شامل ڪريو