ProHoster > Blogi > antaminen > 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
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:
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ä:
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.
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/
Lisää virtuaalinen isäntä (Virtual Hosts > Add).
Lisättäessä tulee virheilmoitus - konfiguraatiotiedosto puuttuu. Tämä on normaalia, ja se ratkaistaan napsauttamalla Luo napsauttamalla.
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.
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:
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:
Avaa samoissa virtuaalipalvelimen asetuksissa Konteksti-välilehti ja luo uusi välityspalvelintyyppinen konteksti:
Käynnistä LSWS uudelleen. Tämä tapahtuu yhdellä napsautuksella verkkokäyttöliittymästä, ihmeitä! (perinnöllinen hiiren kantaja puhuu minussa)
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:
Määritä SSL-välilehdessä polku avaimeen ja varmenteeseen:
"Kuuntelija" on luotu, nyt Virtual Host Mappings -osiossa lisäämme siihen virtuaalisen isäntämme:
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.
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:
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:
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:
Tämä viimeistelee OpenLiteSpeedin konfiguroinnin käänteisenä välityspalvelimena. Käynnistä LSWS uudelleen ja seuraa linkkiä https://cloud.connect.link ja nähdä:
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:
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.
Hienoa, sen jälkeen pääsemme valtuutuskäyttöliittymään:
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!