Cum să configurați un proxy invers pentru WordPress

Publicat: 2023-01-16

În calitate de administrator WordPress, s-ar putea să vă aflați într-o situație în care trebuie să configurați un server proxy invers. Din fericire, configurarea unui server proxy invers este relativ ușoară și există mai multe pachete software diferite pe care le puteți utiliza. Acest articol oferă o scurtă prezentare generală a configurației unui server proxy invers pentru site-ul dvs. WordPress folosind NGINX.

Ce sunt serverele proxy inverse și de ce le folosiți pentru WordPress

Un server proxy invers preia resurse de la unul sau mai multe servere în numele unui client. Aceste resurse sunt apoi livrate clientului fără o modalitate de a spune că au provenit de la serverul proxy.

Proxy-urile inverse sunt utile deoarece pot ascunde existența și caracteristicile serverului de origine. De exemplu, un proxy invers poate oferi un nivel suplimentar de securitate, performanță și fiabilitate pentru aplicațiile web, ferindu-le de solicitările rău intenționate sau de cantități mari de trafic.

Dacă sunteți curios să aflați mai multe, există multe resurse online care vă vor ajuta să aflați mai multe despre serverele proxy inverse. Există mai multe motive comune pentru care ar putea fi necesară configurarea unui server proxy invers:

  • Performanță îmbunătățită a site-ului cu memorarea în cache a conținutului

Un caz comun de utilizare pentru un proxy invers este stocarea în cache a conținutului WordPress solicitat frecvent. De exemplu, dacă un grup de servere web deservește un site web, un proxy invers poate stoca în cache conținutul static al site-ului web (cum ar fi pagini HTML, imagini și fișiere CSS) pe un singur server. Acest lucru poate îmbunătăți performanța site-ului web WordPress, deoarece conținutul nu trebuie să fie preluat de pe serverele web de fiecare dată când un utilizator solicită o pagină.

  • Descărcarea sarcinilor intensive de CPU, cum ar fi redimensionarea imaginii

Un server proxy invers poate descărca sarcini care necesită un proces intensiv, cum ar fi redimensionarea imaginilor de pe serverul WordPress, redirecționând cererile pentru aceste sarcini către un server care este mai bine echipat pentru a le gestiona. Acest lucru poate ajuta la îmbunătățirea performanței site-ului WordPress eliberând resurse pe serverul WordPress pentru alte sarcini.

  • Securitate îmbunătățită prin filtrarea solicitărilor și blocarea traficului rău intenționat

Un server proxy invers poate îmbunătăți securitatea WordPress prin filtrarea cererilor și blocarea traficului rău intenționat. Prin filtrarea cererilor, serverul proxy invers poate bloca accesul la anumite adrese IP sau regiuni despre care se știe că sunt asociate cu activități rău intenționate. Prin blocarea traficului rău intenționat, serverul proxy invers poate ajuta la atenuarea efectelor atacurilor DDoS și a altor atacuri care vizează site-urile WordPress.

  • Faceți WordPress accesibil dintr-un alt domeniu sau subdomeniu

După cum sa menționat mai sus, serverul proxy invers preia resurse de la unul sau mai multe servere în numele unui client. Aceste resurse pot fi orice tip de fișier, dar cel mai frecvent sunt pagini web. Serverul proxy invers furnizează apoi clientului aceste resurse și acestea apar ca și cum ar fi provenite de la serverul însuși. Acest lucru se realizează prin configurarea serverului proxy invers pentru a redirecționa cererile de conținut WordPress către serverul WordPress, oferind totuși clientului iluzia că accesează conținutul direct de pe serverul proxy local.

Cele mai populare servere proxy inverse

Potrivit W3Techs, aproximativ 83% dintre site-uri web nu folosesc un serviciu de proxy invers. Restul de 17% care o fac sunt în mare parte CDN-uri, deoarece proxy-urile inverse își ascund în general prezența din motive de securitate, ceea ce face dificil pentru serviciile de monitorizare a site-urilor web, cum ar fi W3Techs, să determine care sunt cele mai utilizate pe scară largă. Iată cele trei soluții de proxy invers cel mai frecvent utilizate:

  • NGINX

NGINX este un server web care oferă multiple avantaje, cum ar fi performanță îmbunătățită, siguranță, fiabilitate și scalabilitate. Îl puteți obține gratuit sau puteți utiliza ediția comercială, NGINX Plus, pentru site-uri web corporative cu posibilități de configurare bazate pe API. Destul de multe companii mari folosesc NGINX – Cloudflare, Netflix, MaxCDN, printre altele. Configurarea NGINX ca proxy invers este ușoară și îl puteți personaliza pentru a vă satisface nevoile.

  • Lac

Varnish este un tip de software open-source care poate îmbunătăți performanța site-urilor web cu trafic ridicat. Funcționează ca un proxy invers, echilibrator de încărcare, firewall pentru aplicații web și server de autentificare edge și acceptă Edge Side Includes (ESI) pentru o încărcare mai rapidă a paginii. Îl puteți folosi ca front-end pentru serverele web NGINX sau Apache sau îl puteți configura ca proxy invers pentru WordPress.

  • Apache Traffic Server

Apache Traffic Server, o opțiune open-source renumită pentru performanța și capacitatea sa, a fost dezvoltat pentru prima dată de Yahoo! ca serviciu comercial înainte de a-l oferi Fundației Apache. În prezent, este utilizat de multe rețele de conținut și CDN-uri, inclusiv Akami, Apple, Comcast, LinkedIn și Yahoo pentru a-și îmbunătăți sistemele. În plus, Apache HTTP Server (Apache httpd) poate fi folosit pentru a configura un proxy invers pe serverul dvs. web care îi permite să furnizeze atât conținut static, cât și dinamic utilizatorilor, în timp ce funcționează în continuare ca un server web obișnuit.

  • HAproxy

HAProxy este un proxy invers și un echilibrator de încărcare gratuit, open-source, conceput pentru a funcționa cu multe arhitecturi de server web existente, cum ar fi sistemele Linux și platformele bazate pe cloud. Utilizează un model de I/O bazat pe evenimente și poate distribui cereri în mai multe procese de lucru, similar cu NGINX. HAProxy este renumit pentru capacitatea sa de a gestiona volume mari de trafic chiar și în timpul sarcinilor de vârf. Este folosit de unele dintre cele mai mari site-uri din lume, cum ar fi Airbnb, Reddit și Instagram.

Cazuri de utilizare a serverului proxy invers pentru site-uri WordPress

Deși puteți utiliza și alte proxy inverse, NGINX este cea mai populară alegere. Iată cele trei cazuri principale de utilizare pentru configurarea unui proxy invers pentru site-urile WordPress:

  • Site-ul web principal și proxy pe un singur server

Dacă aveți atât site-ul principal, cât și site-ul proxy găzduit pe același server web, puteți configura un proxy invers, astfel încât site-ul proxy să se încarce de pe site-ul principal. Puteți face acest lucru prin configurarea tuturor regulilor de proxy inversă relevante pe site-ul principal și configurarea site-ului proxy pentru a se încărca prin proxy. În plus, dacă utilizați un certificat SSL, trebuie să existe reguli specifice în wp-config.php pentru a preveni buclele de redirecționare. Rețineți că este imposibil să creați o adresă URL cu același subdirector ca cel folosit pentru a încărca site-ul.

  • Găzduiți numai site-ul proxy pe serverul dvs

Pentru a crea un proxy invers, trebuie să contactați administratorul de server al site-ului principal și să configurați regulile pe două servere. Ar trebui adăugat și un nume de domeniu care indică proxy invers. Acest lucru se face de obicei printr-un subdomeniu (de exemplu, blog.domeniul_dvs..com) care este legat de site-ul proxy (de exemplu, domeniul_dvs..com/blog). Rețineți că veți avea nevoie de adresa IP de la server pentru a finaliza procesul de configurare.

  • Site-ul principal găzduit pe serverul dvs

Dacă puteți accesa doar site-ul principal și serverul său de găzduire, atunci ar trebui să configurați un proxy invers și să-i ajustați setările astfel încât pagina să fie extrasă de la o gazdă externă. Va fi responsabilitatea administratorului serverului secundar să instaleze și să configureze site-ul proxy pentru a fi accesat prin reverse proxy.

Pași pentru a configura un proxy invers pentru WordPress

Configurarea unui proxy invers pentru WordPress este o modalitate excelentă de a îmbunătăți performanța site-ului dvs. De asemenea, vă poate ajuta să vă protejați serverul web de solicitările rău intenționate și să vă îmbunătățiți experiența utilizatorului. Mai jos sunt pașii pe care trebuie să îi urmați pentru a configura un proxy invers pentru WordPress.

  1. Instalați un server proxy invers

Primul pas este să instalați un server proxy invers. Vă recomandăm să utilizați serverul web NGINX, care este gratuit și open source. Pot fi folosite și alte servere web populare, cum ar fi Apache, dar vom presupune că utilizați NGINX pentru acest tutorial. Să presupunem că doriți să utilizați un proxy invers NGINX (192.xx10) împreună cu un server web Apache (192.xx20) care este deja în funcțiune.

Instalarea NGINX pe un server Ubuntu este o chestiune de a rula o singură comandă:

sudo apt-get update
sudo apt-get install nginx

Odată ce NGINX este instalat, utilizați această comandă pentru a dezactiva gazda virtuală:

sudo unlink /etc/nginx/sites-enabled/default

Acum este timpul să creați un proxy invers. Puteți face acest lucru creând un fișier numit reverse-proxy.conf în directorul etc/nginx/sites-available. În primul rând, navigați la directorul:

cd etc/nginx/sites-available

Creați fișierul prin editorul vi:

vi reverse-proxy.conf

Adăugați următoarele rânduri la fișier:

Server {
asculta 80;
Locație / {
trece_proxy http://192.xx20;
}
}

După cum putem vedea, trecerea proxy permite ca cererile care vin prin proxy-ul invers să fie transmise la 192.xx20:80, socket-ul de la distanță al serverului principal. Cu alte cuvinte, ambele servere partajează conținutul. După ce ați terminat, salvați fișierul și ieșiți din editor. Pentru a transmite informații către alte servere, utilizați modulul ngx_http_proxy_module din terminal. În cele din urmă, trebuie să activați directivele prin conectarea la /sites-enabled/ cu această comandă:

sudo ln -s /etc/nginx/sites-available/reverse-proxy.conf /etc/nginx/sites-enabled/reverse-proxy.conf

Tot ce mai rămâne de făcut este să testați proxy-ul invers. Trebuie să rulați un test de configurare și să reporniți NGINX pentru a-i verifica performanța. Utilizați comanda de mai jos pentru a verifica dacă NGINX funcționează:

serviciu nginx configtest
repornirea serviciului nginx

În cazul în care testul eșuează, înseamnă că Apache probabil nu este configurat corect.

Limitări inverse serverului proxy

Un proxy invers poate prezenta un risc major de securitate deoarece poate observa și modifica tot traficul care trece prin el. Dacă traficul HTTPS este trimis prin reverse proxy, atunci datele trebuie decriptate și re-criptate, ceea ce necesită cheile private ale certificatului SSL/TLS. Dacă un hacker obține acces la acest proxy invers, acesta are potențialul de a înregistra parole și de a introduce cod rău intenționat în site-uri web.

Un proxy invers poate crea un singur punct de eșec dacă nici dvs., nici utilizatorii dvs. nu puteți accesa direct serverul principal. De exemplu, dacă un proxy invers deservește mai multe domenii, orice întrerupere va face toate acele site-uri inaccesibile. Dacă se folosește un proxy invers terță parte, nu uitați că le împărtășiți detalii importante despre site.

Concluzie

Configurarea unui proxy invers pentru WordPress poate beneficia de securitatea și performanța site-ului. Pașii pentru a configura un proxy invers pentru WordPress variază în funcție de server și de configurație. În general, acestea includ configurarea serverului proxy, configurarea serverului web backend și configurarea site-ului WordPress. Deși configurarea unui server proxy invers poate fi benefică, are limitări.