Cum să utilizați Apache ca proxy invers - Un ghid pas cu pas
Publicat: 2023-07-23În acest ghid veți găsi răspunsul la Cum să utilizați Apache ca proxy invers . Un server proxy invers este un instrument puternic care acționează ca intermediar între clienți și serverele backend, cum ar fi serverele web sau serverele de aplicații. Spre deosebire de un proxy direct tradițional, care se află între clienți și internet, un proxy invers se află între clienți și unul sau mai multe servere.
Când un client face o solicitare, serverul proxy invers redirecționează acea cerere către serverul backend corespunzător în numele clientului. Apoi ia răspunsul de la serverul backend și îl trimite înapoi clientului. Acest proces ascunde în mod eficient identitatea serverului backend și structura internă de clienți.
Proxy-urile inverse oferă mai multe beneficii, inclusiv securitate îmbunătățită prin protejarea serverelor backend de expunerea directă la internet, echilibrarea încărcăturii pentru a distribui cererile clienților pe mai multe servere și stocarea în cache pentru a îmbunătăți performanța prin furnizarea de conținut în cache către clienți.
Cuprins
Distingerea între proxy direct și proxy invers
- Direcția de proxy:
- Redirecționați proxy: Gestionează cererile clienților de a accesa resursele de pe internet. Se află între clienți și internet, redirecționând cererile clienților către servere externe.
- Reverse Proxy: Gestionează cererile clienților de a accesa resursele din rețeaua unei organizații. Se află între clienți și serverele backend, redirecționând cererile clientului către serverul backend corespunzător.
- Perspectiva clientului:
- Redirecționați proxy: Clienții nu sunt de obicei conștienți de existența proxy-ului direct. Solicitarea clientului este trimisă către serverul proxy, iar serverul de destinație primește cererea ca și cum ar fi venit direct de la client.
- Proxy invers: Clienții trimit cereri direct către proxy-ul invers, nu către serverele backend. Proxy-ul invers transmite apoi cererile către serverele backend în numele clienților.
- Utilizare caz:
- Forward Proxy: Adesea folosit pentru filtrarea conținutului, controlul accesului și anonimizarea solicitărilor clienților prin ascunderea adreselor IP ale clienților.
- Reverse Proxy : utilizat în principal pentru echilibrarea încărcăturii, terminarea SSL, stocarea în cache și furnizarea unei porți sigure pentru serviciile backend.
- Perspectiva serverului:
- Redirecționare proxy : serverul de destinație vede cererea venită de la proxy-ul de redirecționare, nu de la clientul original. Nu este conștient de clientul real care face cererea.
- Reverse Proxy: serverele backend văd proxy invers ca clientul care face cererea. Nu sunt conștienți de clienții reali care au făcut cererea inițială.
- Implicații de securitate:
- Forward Proxy: Îmbunătățește confidențialitatea clientului prin mascarea adreselor IP ale clienților. De asemenea, poate oferi straturi de securitate suplimentare prin filtrarea conținutului rău intenționat înainte de a ajunge la clienți.
- Reverse Proxy: Acționează ca un scut pentru serverele backend, păstrând structura lor internă ascunsă de clienții externi. Ajută la protejarea împotriva expunerii directe la internet și a potențialelor atacuri.
- Locație de implementare:
- Forward Proxy: implementat în rețeaua clientului sau pe dispozitivul clientului pentru a controla accesul la internet de ieșire.
- Reverse Proxy: implementat pe marginea rețelei organizației, între internet și serverele backend, gestionând solicitările clientului de intrare.
Explorarea diferitelor cazuri de utilizare ale proxy-urilor inverse
Proxy-urile inverse oferă o gamă largă de cazuri de utilizare care îmbunătățesc performanța, securitatea și scalabilitatea aplicațiilor și serviciilor web.
Unele dintre cazurile cheie de utilizare ale proxy-urilor inverse includ
- Echilibrarea sarcinii: proxy-urile inverse pot distribui cererile primite de la client pe mai multe servere backend. Acest lucru ajută la distribuirea încărcăturii, la prevenirea supraîncărcării serverului și la asigurarea unei mai bune utilizări a resurselor. Echilibrarea sarcinii îmbunătățește performanța generală și capacitatea de răspuns a aplicației.
- Terminare SSL : proxy-urile inverse pot gestiona criptarea și decriptarea SSL/TLS în numele serverelor backend. Acest lucru descarcă procesarea SSL intensivă în resurse de pe serverele backend, reducând volumul de lucru al acestora și simplificând gestionarea certificatelor.
- Memorarea în cache: proxy-urile inverse pot stoca resursele solicitate frecvent în memoria cache. Când clienții solicită aceleași resurse, proxy-ul invers servește direct conținutul stocat în cache, reducând încărcarea serverului și îmbunătățind timpii de răspuns.
- Accelerație web: prin memorarea în cache a conținutului static și comprimarea datelor, proxy-urile inverse pot accelera încărcarea paginilor web pentru clienți, rezultând o experiență de utilizator mai fluidă.
- Securitate și protecție DDoS: proxy-urile inverse acționează ca o barieră de protecție între internet și serverele backend. Acestea pot filtra și bloca traficul rău intenționat, pot proteja împotriva atacurilor Distributed Denial of Service (DDoS) și pot ascunde adresa IP reală a serverului backend pentru a preveni atacurile directe.
- Web Application Firewall (WAF) : proxy-urile inverse pot acționa ca un WAF, inspectând traficul de intrare pentru potențiale amenințări, cum ar fi injecția SQL, cross-site scripting (XSS) și alte activități rău intenționate. Acestea ajută la protejarea aplicațiilor web de vulnerabilități comune.
- Punct de intrare unic: proxy-urile inverse oferă un singur punct de intrare pentru clienții externi pentru a accesa mai multe servere backend. Acest lucru simplifică arhitectura rețelei și permite gestionarea și scalarea mai ușoară a serviciilor.
- Conversie protocol: proxy-urile inverse pot traduce cererile de la un protocol la altul. De exemplu, pot converti cererile HTTP în WebSocket sau în alte protocoale specifice aplicației, facilitând comunicarea între clienți și servere.
- Comprimarea și optimizarea conținutului: proxy-urile inverse pot comprima conținutul trimis înainte de a-l trimite clienților, reducând dimensiunea transferului de date și îmbunătățind timpul de încărcare a paginii.
Cerințe preliminare - Configurați Apache ca proxy invers
Instalați Bitwise SSH Client
- Căutați Bitwise SSH Client în browserul dvs. Faceți clic pe linkul https://www.bitvise.com/ssh-client-download și începeți instalarea
2. După instalarea setării, deschideți fișierul .exe de pe computer și finalizați Instalarea clientului Bitvise SSH.
Cum să vă conectați la serverul SSH folosind biți?
- După finalizarea instalării, va apărea fereastra de mai jos. Introduceți gazda, portul și numele de utilizator, selectați parola din meniul vertical Metodă inițială, apoi faceți clic pe conectare. Va apărea o fereastră pop-up pentru a introduce o parolă. Introduceți parola SSH.
2. Odată ce v-ați conectat, faceți clic pe „New Terminal Console” și va apărea prompt un terminal.
Pasul 1 - Instalați Apache
Conectați serverul
Acum, pentru a stabili o conexiune la serverul dvs. și a reîmprospăta indexul pachetului local folosind depozitele APT, introduceți comanda de mai jos în terminal și apăsați Enter:
actualizare apt
Actualizările vor dura ceva timp pentru a se finaliza între timp, așteptați finalizarea lor.
Cum se instalează Apache pe Ubuntu ?
- Instalați Apache pe Ubuntu
Acum, pentru a instala Apache din Ubuntu, introduceți comanda de mai jos și apăsați Enter
apt install -y apache2
2. Verificați versiunea Apache
După instalare, aveți opțiunea de a verifica versiunea Apache folosind
apache2 -version
3. Verificați starea Apache
De asemenea, aveți opțiunea de a verifica starea Apache2 folosind comanda de mai jos. Acest lucru vă ajută să determinați rapid dacă serverul rulează și dacă există probleme care necesită atenție.
systemctl status apache2
După cum observați, starea (END) afișată pe ecran este o indicație clară a unei instalări reușite a Apache2. Acest rezultat confirmă că procesul de instalare a fost finalizat fără erori sau probleme.
4. Activați Apache
Pentru a activa Apache2 la Ubuntu, utilizați comanda:
systemctl enabled apache2
5. Porniți Apache
Dacă doriți să reporniți Apache2 la Ubuntu, utilizați comanda de mai jos în terminal:
systemctl start apache2
Cum se instalează Apache la Almalinux?
- Verificați actualizările disponibile
Pentru a instala Apache2 la Almalinux, verificați actualizările disponibile executând comanda „ dnf check-update” .
dnf check-update
În cazul în care sunt găsite actualizări, continuați să vă actualizați Linode cu „dnf update”. În plus, dacă unele componente ale nucleului sunt actualizate în timpul procesului, nu uitați să reporniți Linode cu „reboot” pentru a aplica modificările.
- Instalați Apache
Acum continuați cu instalarea pachetelor Apache necesare.
dnf install httpd httpd-tools
- Porniți Apache
După instalarea Apache, acesta nu pornește automat. Pentru a-l iniția și activa, utilizați utilitarul systemctl .
systemctl start httpd
- Activați Apache
Pentru a vă asigura că Apache repornește automat de fiecare dată când sistemul repornește , activați-l.
systemctl enable httpd
- Verificați starea Apache
Verificați starea Apache folosind comanda „systemctl status” . Ar trebui să se afișeze ca activ și rulant.
systemctl status httpd
Pasul 2 - Activați modulele Apache pentru proxy invers
Cum se activează pe Ubuntu?
Pentru a utiliza eficient un reverse proxy cu Apache Web Server, trebuie să activați anumite module Apache care sunt esențiale pentru susținerea funcționalității suplimentare cerute de serverele reverse proxy.
- Identificați modulele necesare
mod_proxy : Servind ca modul proxy principal pentru Apache, mod_proxy gestionează eficient conexiunile și redirecționările. Acesta dă putere Apache să funcționeze ca o poartă către serverele backend subiacente, făcându-l un modul indispensabil pentru toate setările de proxy invers.
mod_proxy_http : Acest modul se bazează pe mod_proxy și este indispensabil pentru suportul solicitărilor HTTP și HTTPS într-un mediu de server proxy. Acesta permite Apache să gestioneze cu competență proxy-ul aplicațiilor web folosind protocoalele HTTP/HTTPS .
mod_ssl: Oferind funcționalitate esențială, mod_ssl echipează serverul Apache HTTP cu suport pentru protocoalele SSL v3 și TLS v1.x. Acest modul este crucial pentru stabilirea de conexiuni securizate, criptate, pentru asigurarea integrității datelor și pentru îmbunătățirea securității serverului web.
2. Activați module
Acum, vom activa aceste module folosind comanda a2enmod :
sudo a2enmod proxy sudo a2enmod proxy_http sudo a2enmod ssl
- Reporniți serverul Apache2
După activarea oricăror module Apache noi, este imperativ să nu treceți cu vederea pasul crucial al repornirii serverului apache2 . Acest pas asigură că modificările vor intra în vigoare și permite ca modulele nou activate să fie complet integrate în configurația serverului Apache.
sudo systemctl restart apache2
- Verificați modulele
Puteți confirma starea activă a acestor module utilizând următoarea comandă:
sudo apachectl -M
Pasul 3 - Configurarea Apache Reverse Proxy
Acum, configurați proxy-ul invers Apache pentru a accepta cereri de pe internet și a le transmite efectiv către resursa aleasă.
- Dezactivați Apache implicit
Pentru a începe, veți dezactiva fișierul implicit de configurare a gazdei virtuale Apache. Acest lucru poate fi realizat folosind următoarea comandă:
a2dissite 000-default.conf
- Creați un nou fișier de configurare
Crearea unui nou fișier de configurare a gazdei virtuale este un pas fundamental în personalizarea Apache pentru a servi diferite aplicații web sau site-uri web pe același server. A gazdă virtuală permite Apache să gestioneze mai multe domenii sau subdomenii, fiecare cu configurația și setările sale unice.
Pentru a crea un nou fișier de configurare a gazdei virtuale, urmați acești pași generali:
Alegeți un nume : selectați un nume descriptiv pentru fișierul gazdă virtuală, care se termină de obicei cu extensia „.conf”. De exemplu, „example.com.conf” sau „cyberpanel.conf”.
Navigați la directorul de configurare Apache: în majoritatea distribuțiilor Linux, fișierele de configurare Apache sunt stocate în directorul „/etc/apache2/sites-available/” . De exemplu:
cd /etc/apache2/sites-available/
Creați fișierul gazdă virtuală : utilizați un editor de text, cum ar fi nano sau vi, pentru a crea noul fișier de configurare. De exemplu:
sudo nano example.com.conf
La introducerea comenzii de mai sus va apărea fișierul de mai jos:
Configurați gazda virtuală : în cadrul fișierului, utilizați directiva <VirtualHost> pentru a defini adresa IP și portul pentru a accepta cereri pentru gazda virtuală specifică. Pentru un exemplu de bază, permițând toate adresele IP pe portul HTTP implicit (portul 80) , utilizați următoarele:
<VirtualHost *:80> ServerName site1.com ServerAlias www.site1.com ServerAdmin [email protected] ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined ProxyPass / http://127.0.0.1:8080/ ProxyPassReverse / http://127.0.0.1:8080/ ProxyRequests Off </VirtualHost>
Procesul de configurare începe prin definirea gazdei virtuale cu comanda <VirtualHost> , specificând adresa IP acceptată și numărul portului pentru Apache. În acest caz, caracterul wildcard * este folosit, permițând acceptarea tuturor adreselor IP, în timp ce numărul portului este setat la 80 , reprezentând portul HTTP implicit. În continuare, configurația include următoarele elemente:
- ServerName : Această directivă specifică numele de domeniu asociat serverului.
- ServerAlias: Cu ServerAlias, puteți defini nume suplimentare pe care serverul le va accepta.
- ServerAdmin : Directiva ServerAdmin setează adresa de e-mail de contact pe care o include serverul în mesajele de eroare returnate clienților.
- ErrorLog : ErrorLog setează numele unui fișier în care Apache stochează erorile întâlnite.
- CustomLog: CustomLog setează numele unui fișier în care Apache înregistrează cererile clientului către server.
- ProxyPass: ProxyPass mapează serverele de la distanță în spațiul serverului local și definește adresa țintă pentru redirecționarea traficului. Acesta permite Apache să acționeze ca un proxy invers, redirecționând cererile către serverele backend și îmbunătățind performanța aplicațiilor și distribuția încărcării.
- ProxyPassReverse: ProxyPassReverse este vital pentru un server proxy, deoarece rescrie locația originală, locația conținutului și anteturile de răspuns HTTP URI ale serverului backend cu informațiile serverului proxy. Acest lucru asigură că proxy-ul invers gestionează corect răspunsurile și previne expunerea serverelor backend la acces direct la Internet.
- ProxyRequests: ProxyRequests împiedică utilizarea serverului Apache HTTP ca proxy direct, sporind securitatea. De obicei, ar trebui să fie setat la „dezactivat” atunci când utilizați ProxyPass pentru a evita utilizarea greșită a serverului ca proxy deschis și pentru a proteja împotriva potențialelor riscuri de securitate.
Salvare și ieșire : Salvați modificările și părăsiți editorul de text.
Activați gazda virtuală : utilizați comanda a2ensite pentru a activa noua configurație a gazdei virtuale:
sudo a2ensite example.com.conf
Reîncărcați Apache: pentru a aplica modificările, reîncărcați Apache pentru a activa noua gazdă virtuală:
sudo systemctl reload apache2
Odată cu acești pași finalizați, noua gazdă virtuală este acum activă și gata să servească site-ul sau aplicația desemnată. Este important de reținut că modificările vor intra în vigoare numai după ce gazda virtuală a fost activată și Apache a fost reîncărcat. În plus, puteți plasa fișierele site-ului dvs. în directorul specificat de directiva „DocumentRoot” pentru a vă asigura că Apache servește corect conținutul pentru această gazdă virtuală particulară.
Verificați configurația: asigurați-vă că configurația proxy inversă funcționează conform așteptărilor. Vizitați numele de domeniu desemnat (de exemplu, „reverse-proxy.example.com”) într-un browser web, iar Apache ar trebui să trimită în mod corespunzător cererile către serverul backend.
Rețineți că poate fi necesar să configurați setări suplimentare în funcție de cazurile de utilizare specifice, cum ar fi gestionarea certificatelor SSL, echilibrarea încărcăturii sau proxy WebSocket . Monitorizați în mod regulat performanța și securitatea serverului pentru a asigura funcționarea fără probleme.
Cum să utilizați Apache ca proxy invers în Cyberpanel
În Cyberpanel, integrarea Apache cu OpenLiteSpeed pe backend oferă tot ce este mai bun din ambele lumi, combinând avantajele de viteză ale OpenLiteSpeed cu capabilitățile bogate în funcții ale Apache. În special, utilizarea Apache ca proxy invers nu compromite performanța cache-ului ls; veți menține același nivel de performanță ca și numai cu OpenLiteSpeed . În această configurație, OpenLiteSpeed rămâne responsabil pentru transmiterea traficului frontend către Apache, care se ocupă de solicitările de la backend. În plus, această integrare este acceptată atât pe sistemele de operare AlmaLinux , cât și pe Ubuntu . Urmând acest articol, utilizatorii pot profita din plin de beneficiile oferite prin combinarea Apache și OpenLiteSpeed într-o configurare proxy inversă.
Conectați-vă la tabloul de bord Cyberpanel.
Accesați opțiunea Website Faceți clic pe Creare site
Introduceți numele dvs. de domeniu, adresa de e-mail și versiunea PHP și selectați Apache ca proxy invers. După introducerea detaliilor, faceți clic pe Creare site. Poate dura ceva timp și apoi va fi creat
Acest site web va funcționa în Apache ca mod proxy invers. În partea din față, Openlitespeed va funcționa, iar în partea din spate Apache. Deci, toate regulile dvs. htaccess vor funcționa așa cum funcționau înainte, indiferent dacă utilizați Cpanel sau orice alt panou de control
Puteți vedea că site-ul va fi creat cu succes.
Pentru acest site, puteți gestiona configurația Apache pentru acest site în managerul site-ului nostru. Faceți clic pe Gestionare
Odată ce sunteți aici Faceți clic pe Apache Manager
Și chiar și tu poți trece și la Openlitespeed pur. Deci, să presupunem că doriți să decideți că nu doriți să utilizați Apache pe backend cu acest site web. Dacă doriți să treceți la Openlitespeed pur, atunci selectați versiunea PHP și faceți clic pe comutați la Openlitespeed pur. Poate fi convertit pentru a utiliza Apache, de asemenea, dacă folosește OpenLitespeed
Acestea sunt configurații Apache. Puteți edita cu ușurință dacă doriți să editați ceva, dar asigurați-vă că știți ce faceți, deoarece ceva nu este în regulă aici și site-ul dvs. nu va mai funcționa
În configurațiile noastre Apache, folosim PHP-FPM, deci acestea sunt configurațiile PHP-FPM pe care le utilizați
Pentru configurațiile PHP Accesați PHP și faceți clic pe Editare configurații PHP. Dacă doriți să editați configurațiile PHP.
Dacă utilizați Apache, atunci trebuie să editați și configurațiile Php, astfel încât dacă aveți Apache instalat, veți vedea această adresă URL.
În mod implicit, veți putea edita configurațiile pentru Litespeed Php. Dacă doriți să editați configurațiile pentru Apache, faceți clic și pe EDITARE CONFIGURAȚII APACHE
După ce faceți clic pe EDITARE CONFIGURAȚII APACHE , puteți face orice se folosește cu configurațiile Litespeed, cum ar fi post_max_size, upload_max_filesize, max_execution_time sau orice altceva.
Asigurați-vă că, după editarea configurațiilor, faceți clic pe Salvare modificări
În mod similar, puteți utiliza și Editarea avansată
În mod similar, puteți instala extensii PHP pentru Apache. Doar faceți clic pe PHP->Instalare extensii
Dacă utilizați Apache, atunci trebuie să gestionați și EXTENSIILE APACHE , așa că dacă aveți Apache instalat, veți vedea această adresă URL.
În mod implicit, veți putea instala extensii pentru Litespeed Php. Dacă doriți să instalați extensii pentru Apache, faceți clic și pe MANAGE APACHE EXTENSIONS
Continut Asemanator
De asemenea, puteți consulta ghidul nostru despre Apache vs NGINX Cine CÂȘTIGĂ în ceea ce privește performanța?