Nextcloud OpenLiteSpeedin sisällä ja ulkopuolella: käänteisen välityspalvelimen määrittäminen

Kuinka määritän OpenLiteSpeedin kääntämään välityspalvelimen Nextcloudiin sisäisessä verkossa?

Yllättäen Habrén OpenLiteSpeed-haku ei anna mitään! Kiirehdin korjaamaan tämän epäoikeudenmukaisuuden, koska LSWS on kunnollinen verkkopalvelin. Rakastan sitä sen nopeuden ja hienon verkkohallintaliittymän vuoksi:

Nextcloud OpenLiteSpeedin sisällä ja ulkopuolella: käänteisen välityspalvelimen määrittäminen

Vaikka OpenLiteSpeed ​​​​on tunnetuin WordPressin "kiihdytin", näytän tämän päivän artikkelissa sen melko konkreettisen käytön. Nimittäin pyyntöjen käänteinen välityspalvelin (käänteinen välityspalvelin). Sanotteko, että on yleisempää käyttää nginxiä tähän? Olen samaa mieltä. Mutta se sattuu niin paljon, että rakastuimme LSWS:ään!

Välityspalvelin on ok, mutta missä? Yhtä upeassa palvelussa - Nextcloud. Käytämme Nextcloudia yksityisten "tiedostonjakopilvien" luomiseen. Jokaiselle asiakkaalle varaamme erillisen virtuaalikoneen Nextcloudin kanssa, emmekä halua paljastaa niitä "ulkopuolella". Sen sijaan välitämme pyynnöt yleisen käänteisen välityspalvelimen kautta. Tämä ratkaisu mahdollistaa:
1) poista Internetistä palvelin, jolle asiakastiedot on tallennettu
2) tallenna ip-osoitteet.

Kaavio näyttää tältä:

Nextcloud OpenLiteSpeedin sisällä ja ulkopuolella: käänteisen välityspalvelimen määrittäminen

On selvää, että järjestelmä on yksinkertaistettu, koska verkkopalveluinfrastruktuurin järjestäminen ei ole tämän päivän artikkelin aihe.

Myös tässä artikkelissa jätän pois nextcloudin asennuksen ja peruskokoonpanon, varsinkin kun Habresta on materiaalia tästä aiheesta. Mutta näytän ehdottomasti asetukset, joita ilman Nextcloud ei toimi välityspalvelimen takana.

ilmoittautua:
Nextcloud on asennettu isäntään 1 ja määritetty toimimaan http:n kautta (ilman SSL:ää), sillä on vain paikallinen verkkoliitäntä ja "harmaa" IP-osoite 172.16.22.110.
Määritetään OpenLiteSpeed ​​​​isäntä 2:ssa. Siinä on kaksi liitäntää, ulkoinen (näyttää Internetiin) ja sisäinen IP-osoitteella verkossa 172.16.22.0/24
Isäntä 2:n ulkoisen liitännän IP-osoite on DNS-nimi cloud.connect.link

tavoite:
Hae Internetistä linkin kauttahttps://cloud.connect.link' (SSL) Nextcloudiin sisäisessä verkossa.

  • OpenLiteSpeedin asentaminen Ubuntuun 18.04.2.

Lisätään arkisto:

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

asenna, suorita:

sudo apt-get install openlitespeed
sudo /usr/local/lsws/bin/lswsctrl aloitus

  • Minimaalinen palomuurin asennus.

    sudo ufw salli ssh
    sudo ufw oletusarvo salli lähtevän
    sudo ufw oletusarvoisesti kieltää saapuva
    sudo ufw sallikaa http
    sudo ufw salli https
    sudo ufw salli johtoisäntäsi mihin tahansa porttiin 7080
    sudo ufw enable

  • Aseta OpenLiteSpeed ​​käänteiseksi välityspalvelimeksi.
    Luodaan hakemistoja virtualhostin alle.

    cd /usr/local/lsws/
    sudo mkdirc cloud.connect.link
    cd cloud.connect.link/
    sudo mkdir {conf,html,logs}
    sudo chown lsadm:lsadm ./conf/

Määritetään virtuaalinen isäntä LSWS-verkkoliittymästä.
Avaa URL-hallinta http://cloud.connect.link:7080
Oletuskirjautumistunnus/salasana: admin/123456

Nextcloud OpenLiteSpeedin sisällä ja ulkopuolella: käänteisen välityspalvelimen määrittäminen

Lisää virtuaalinen isäntä (Virtual Hosts > Add).
Lisättäessä tulee virheilmoitus - konfiguraatiotiedosto puuttuu. Tämä on normaalia, ja se ratkaistaan ​​napsauttamalla Luo napsauttamalla.

Nextcloud OpenLiteSpeedin sisällä ja ulkopuolella: käänteisen välityspalvelimen määrittäminen

Määritä Yleiset-välilehdellä asiakirjan juuri (vaikka sitä ei tarvita, konfiguraatio ei käynnisty ilman sitä). Jos verkkotunnusta ei ole määritetty, se otetaan Virtual Host Name -nimestä, jonka annoimme verkkotunnukseksi.

Nextcloud OpenLiteSpeedin sisällä ja ulkopuolella: käänteisen välityspalvelimen määrittäminen

Nyt on aika muistaa, että meillä ei ole vain web-palvelin, vaan käänteinen välityspalvelin. Seuraavat asetukset kertovat LSWS:lle, mitä välityspalvelinta käyttää ja missä. Avaa Virtualhost-asetuksissa Ulkoinen sovellus -välilehti ja lisää uusi verkkopalvelintyyppinen sovellus:

Nextcloud OpenLiteSpeedin sisällä ja ulkopuolella: käänteisen välityspalvelimen määrittäminen

Määritä nimi ja osoite. Voit määrittää mielivaltaisen nimen, mutta sinun on muistettava se, se on hyödyllinen seuraavissa vaiheissa. Osoite on se, jossa Nextcloud asuu sisäisessä verkossa:

Nextcloud OpenLiteSpeedin sisällä ja ulkopuolella: käänteisen välityspalvelimen määrittäminen

Avaa samoissa virtuaalipalvelimen asetuksissa Konteksti-välilehti ja luo uusi välityspalvelintyyppinen konteksti:

Nextcloud OpenLiteSpeedin sisällä ja ulkopuolella: käänteisen välityspalvelimen määrittäminen

Määritä parametrit: URI = /, Web-palvelin = nextcloud_1 (nimi edellisestä vaiheesta)

Nextcloud OpenLiteSpeedin sisällä ja ulkopuolella: käänteisen välityspalvelimen määrittäminen

Käynnistä LSWS uudelleen. Tämä tapahtuu yhdellä napsautuksella verkkokäyttöliittymästä, ihmeitä! (perinnöllinen hiiren kantaja puhuu minussa)

Nextcloud OpenLiteSpeedin sisällä ja ulkopuolella: käänteisen välityspalvelimen määrittäminen
Nextcloud OpenLiteSpeedin sisällä ja ulkopuolella: käänteisen välityspalvelimen määrittäminen

  • Laitamme varmenteen, määritämme https.
    Todistuksen saamismenettely jätämme sen pois, sovimme, että meillä on se jo ja olemme avaimen kanssa /etc/letsencrypt/live/cloud.connect.link-hakemistossa.

Luodaan "kuuntelija" (Kuuntelijat > Lisää), kutsutaan sitä nimellä "https". Osoita se porttiin 443 ja huomaa, että se on suojattu:

Nextcloud OpenLiteSpeedin sisällä ja ulkopuolella: käänteisen välityspalvelimen määrittäminen

Määritä SSL-välilehdessä polku avaimeen ja varmenteeseen:

Nextcloud OpenLiteSpeedin sisällä ja ulkopuolella: käänteisen välityspalvelimen määrittäminen

"Kuuntelija" on luotu, nyt Virtual Host Mappings -osiossa lisäämme siihen virtuaalisen isäntämme:

Nextcloud OpenLiteSpeedin sisällä ja ulkopuolella: käänteisen välityspalvelimen määrittäminen

Jos LSWS käyttää välityspalvelinta vain yhteen palveluun, konfigurointi voidaan suorittaa loppuun. Mutta aiomme käyttää sitä pyyntöjen lähettämiseen eri "esiintymiin" verkkotunnuksen nimestä riippuen. Ja kaikilla verkkotunnuksilla on omat varmenteensa. Siksi sinun on siirryttävä virtualhost-kokoonpanoon ja määritettävä uudelleen sen avain ja varmenne SSL-välilehdessä. Jatkossa tämä tulisi tehdä jokaiselle uudelle virtuaaliselle isännälle.

Nextcloud OpenLiteSpeedin sisällä ja ulkopuolella: käänteisen välityspalvelimen määrittäminen

Jäljelle jää määrittää URL-osoitteen uudelleenkirjoitus siten, että http-pyynnöt osoitetaan https-osoitteeseen.
(Milloin tämä loppuu? Selainten ja muiden ohjelmistojen on aika siirtyä oletusarvoisesti https:ään ja tarvittaessa lähettää edelleen no-SSL-sähköpostiin manuaalisesti).
Ota käyttöön Ota uudelleenkirjoitus käyttöön ja kirjoita uudelleenkirjoitussäännöt:

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

Nextcloud OpenLiteSpeedin sisällä ja ulkopuolella: käänteisen välityspalvelimen määrittäminen

Oudon väärinkäsityksen vuoksi on mahdotonta soveltaa uudelleenkirjoitussääntöjä tavallisella Graceful-uudelleenkäynnistyksellä. Siksi emme käynnistä LSWS:ää uudelleen kauniisti, vaan töykeästi ja tehokkaasti:

sudo systemctl käynnistä lsws.service uudelleen

Jotta palvelin kuuntelee porttia 80, luodaan toinen kuuntelija. Kutsutaan sitä http:ksi, määritetään 80. portti ja että se ei ole suojattu:

Nextcloud OpenLiteSpeedin sisällä ja ulkopuolella: käänteisen välityspalvelimen määrittäminen

Analogisesti https-kuuntelija-asetuksen kanssa, liitetään virtuaalinen isäntämme siihen.

Nyt LSWS kuuntelee porttia 80 ja lähettää siitä pyynnöt numeroon 443 ja kirjoittaa URL-osoitteen uudelleen.
Lopuksi suosittelen alentamaan LSWS-kirjaustasoa, joka on oletusarvoisesti asetettu Debug-tilaan. Tässä tilassa lokit lisääntyvät salamannopeasti! Useimmissa tapauksissa varoitustaso on riittävä. Siirry kohtaan Palvelimen asetukset > Loki:

Nextcloud OpenLiteSpeedin sisällä ja ulkopuolella: käänteisen välityspalvelimen määrittäminen

Tämä viimeistelee OpenLiteSpeedin konfiguroinnin käänteisenä välityspalvelimena. Käynnistä LSWS uudelleen ja seuraa linkkiä https://cloud.connect.link ja nähdä:

Nextcloud OpenLiteSpeedin sisällä ja ulkopuolella: käänteisen välityspalvelimen määrittäminen

Jotta Nextcloud päästää meidät sisään, meidän on lisättävä cloud.connect.link-verkkotunnus luotettujen luetteloon. Mennään muokkaamaan config.php:tä. Asensin Nextcloudin automaattisesti Ubuntun asennuksen yhteydessä ja konfiguraatio löytyy täältä: /var/snap/nextcloud/current/nextcloud/config.
Lisää 'cloud.connect.link'-parametri trusted_domains-avaimeen:

'trusted_domains' =>
taulukko (
0 => '172.16.22.110',
1 => 'Cloud.connect.link',
),

Nextcloud OpenLiteSpeedin sisällä ja ulkopuolella: käänteisen välityspalvelimen määrittäminen

Lisäksi samassa kokoonpanossa sinun on määritettävä välityspalvelimemme IP-osoite. Kiinnitän huomionne siihen, että osoitteeksi on määritettävä se, joka on Nextcloud-palvelimen nähtävillä, ts. Paikallisen LSWS-liitännän IP. Ilman tätä vaihetta Nextcloud-verkkokäyttöliittymä toimii, mutta sovelluksia ei ole valtuutettu.

'trusted_proxyes' =>
taulukko (
0 => '172.16.22.100',
),

Hienoa, sen jälkeen pääsemme valtuutuskäyttöliittymään:

Nextcloud OpenLiteSpeedin sisällä ja ulkopuolella: käänteisen välityspalvelimen määrittäminen

Ongelma ratkaistu! Nyt jokainen asiakas voi turvallisesti käyttää "tiedostopilveä" omalla henkilökohtaisella URL-osoitteellaan, palvelin tiedostoineen on erotettu Internetistä, tulevat asiakkaat saavat kaiken saman, eikä se vaikuta mihinkään ylimääräiseen IP-osoitteeseen.
Lisäksi voit käyttää käänteistä välityspalvelinta staattisen sisällön toimittamiseen, mutta Nextcloudin tapauksessa tämä ei lisää nopeutta merkittävästi. Se on siis valinnainen ja valinnainen.

Olen iloinen voidessani jakaa tämän tarinan, toivottavasti siitä on jollekin hyötyä. Jos tiedät tyylikkäämpiä ja tehokkaampia menetelmiä ongelman ratkaisemiseksi, olen kiitollinen kommenteista!

Lähde: will.com

Lisää kommentti