En reverse proxy sidder foran en webserver og modtager alle anmodninger, før de når originalserveren. Det fungerer på samme måde som en forward proxy, pånær at i dette tilfælde er det webserveren, der bruger proxy frem for brugeren eller klienten. reversed proxyer bruges typisk til at forbedre webserverens ydeevne, sikkerhed og pålidelighed.

For eksempel kan du have et ikke-WordPress-websted hostet på example.com-domæne på Server A og have sin blog kørende på WordPress på example.com/blog URL hostet på Server B. Du kan opnå dette ved at tilføje en reverse proxy til server, der er vært for dit primære websted. Du kan konfigurere den reversed proxy til at omdirigere anmodninger til bloggen til en anden server (f.eks. en administreret WordPress host som Kinsta).

I denne artikel lærer du det grundlæggende ved reverse proxy servere, hvordan de fungerer, hvad deres største fordele er, og hvordan du kan bruge dem til at fremskynde og sikre dit WordPress-websted.

Begejstret? Lad os begynde!

Hvad er en reverse proxy?

For at forstå, hvad en reverse proxyserver er, skal du først kende dens rolle og blive fortrolig med alle dens relaterede termer.

Når du surfer normalt på internettet ved at indtaste et domænenavn eller klikke på et link, opretter din browser/enhed forbindelse til webstedets server direkte og begynder at downloade dets ressourcer.

Sådan fungerer browsing på internettet normalt
Sådan fungerer browsing på internettet normalt

Hvis du vil anonymisere din IP-adresse fra de websteder, du besøger, kan du først bruge en proxyserver til at sende alle dine anmodninger til den. Det videresender dine anmodninger til en DNS-resolver og downloader derefter webstedets ressourcer fra dets oprindelsesserver.

Bagefter videregiver de disse ressourcer til din enhed. Dette kaldes en forward proxy.

Sådan fungerer en forward proxyserver
Sådan fungerer en forward proxyserver

Du er fuldstændig skjult fra webstedet, da det tror, at din anmodning stammer fra den videregående proxy.

Bortset fra at forbedre brugerens privatliv bruges en forward proxy hovedsageligt til at omgå geografiske indholdsrestriktioner. Hvis du f.eks. vil se en video, der er blokeret i din region, kan du bruge en forward proxy med en IP-adresse, som videoen er tilgængelig for at se.

En forward proxy fungerer næsten på samme måde som et virtuelt privat netværk (VPN), men de er forskellige teknologier’ med unikke anvendelsessager (de kan dog undertiden overlappe hinanden).

Omvendt proxyserver vs forward proxyserver

En reverse proxy server fungerer som front for originalserveren for at opretholde anonymitet og øge sikkerheden, ligesom en bruger/klient kan bruge en forward proxy til at opnå det samme. Det sikrer, at ingen bruger eller klient kommunikerer direkte med originalserveren.

Sådan fungerer en reverse proxy-server
Sådan fungerer en reverse proxy-server

Forskellen mellem en forward proxy og en reverse proxy er mindre, men de fungerer forskelligt.

Begge kan arbejde sammen, da der ikke er nogen overlapning mellem deres funktion. Normalt bruger brugere/klienter en forward proxy, mens originalservere bruger en reverse proxy.

Forward proxy mod reverse proxyservere
Forward proxy mod reverse proxyservere

Da en serveradministrator kan styre, hvordan den reversed proxy fungerer, kan du bruge den til at aktivere mange nyttige funktioner.

Vi angiver alle dens fordele senere i dette indlæg.

Hvorfor bruge en reverse proxy?

Mange virksomheder, især store virksomheder, bruger skræddersyede websteder, der er skræddersyet til deres unikke behov og ikke kører på WordPress. Nogle eksempler omfatter bank- og forsikringswebsteder.

I andre tilfælde kan en virksomhed hoste deres websted på en ekstern service, der ikke tillader dem at installere ekstern software (f.eks. WordPress). Normalt er det små til mellemstore detailhandlere, der bruger en e-handels platform som Shopify.

Da WordPress har robuste CMS-funktioner, kan mange virksomheder, herunder store virksomheder med skræddersyede websteder, foretrække at være host for deres blogs ved hjælp af WordPress.

En måde at komme uden om dette problem på er at installere WordPress på hovedwebstedets underdomæne og strukturere navigationsmenuerne, så brugerne let kan skifte mellem hovedwebstedet og bloggen.

Da underdomæner opfører sig som et unikt domæne, kan det påvirke dit websteds SEO. Selvom Google behandler både underdomæner og underkataloger ens, kræver det større indsats at optimere et websted til søgemaskineplaceringer, hvis det er hostet på et underdomæne, end hvis det er hostet i et underkatalog.

To metoder til hosting af blogs på et websted
To metoder til hosting af blogs på et websted

Google har bekræftet, at det behandler både underdomæner og underkataloger lige, men nogle SEO-eksperter er uenige i det. Og selvom det ikke påvirker webstedets SEO, er et websted, der er hostet i en underkatalog, simpelthen lettere at vedligeholde.

Derfor kan du bruge en reverse proxy til at omdirigere anmodninger til webstedets blog, der er hostet på en separat server. For eksempel kan en bank hoste deres hovedwebsted på deres servere sikkert, men de kan også hoste deres WordPress-drevne blog separat på en administreret WordPress-host som Kinsta.

Et eksempel på en reverse proxy brugssag
Et eksempel på en reverse proxy brugssag

At forene to forskellige websteder under et enkelt domænenavn er en af ​​de vigtigste fordele ved at bruge en reverse proxy. Det hjælper brands med at holde deres websteder organiserede, professionelle og bevare troværdighed.

Lær, hvordan en reverse proxy kan forbedre performance️ ydeevne, 🔒 sikkerhed og 🤝 pålidelighed ... alt i denne vejledning ⬇️Click to Tweet

Fordele ved at bruge en reverse proxy

Udover ovennævnte anvendelsesformål giver reversed proxys også mange andre fordele. Nedenstående afsnit diskuterer nogle af deres store fordele.

Load Balancing

En server med en enkelt oprindelse kan ikke håndtere al den indkommende trafik til et websted med millioner af daglige unikke besøgende. I disse tilfælde kan du distribuere trafikken smart blandt en pulje af mange servere. Normalt vil alle servere være host for det samme indhold for at eliminere et enkelt fejl-punkt, hvilket gør webstedet mere pålideligt.

En reverse proxy er en god måde at konfigurere dette på, da den kan modtage den indkommende trafik, før den når originalserveren. Hvis originalserveren er overbelastet eller mislykkes fuldstændigt, kan den distribuere trafikken til andre servere uden at påvirke webstedets funktionalitet.

Reverse proxys kan også dirigere de indgående anmodninger til flere servere, hvor hver server udfører en bestemt funktion, den er optimeret til. Den modsatte proxy kan derefter indsamle svar fra alle serverne og levere dem til klienten.

Da vi primært bruger de fleste af de populære reverse proxyer til load balancing, kaldes de også Load Balancers.

Global Server Load Balancing (GSLB)

GSLB er en avanceret load balancing metode til distribution af webstedstrafik blandt mange servere placeret strategisk rundt om i verden. Det gøres typisk via anycast routing technique, hvor reverse proxy vælger servernoden baseret på den hurtigste rejsetid mellem klienten og serveren.

Ikke alene øger GSLB stedets pålidelighed og sikkerhed betydeligt, det reducerer også latenstid og indlæsningstider og forbedrer derved brugeroplevelsen. Du kan bruge GSLB med andre netværksoptimering teknikker, såsom Spoon Feeding, til at frigøre originalservernes computational ressourcer endnu mere.

Selvom du kan konfigurere Global Server Load Balancing manuelt på din server, er det normalt taget sig af dedikerede CDN’er som Cloudflare og KeyCDN (som også driver Kinsta CDN). Kinsta betjener alle de websteder, der hostes med det via en Load Balancer drevet af Google Cloud Platform.

Forbedret sikkerhed

Reversed proxyer kan skjule IP-adressen og andre egenskaber ved originalservere. Således kan dit websteds originalserver bevare sin anonymitet bedre og øge dens sikkerhed betydeligt.

Da den reversed proxy modtager al trafik, før den når hovedserveren, vil alle angribere eller hackere have sværere ved at målrette mod dit websted med sikkerhedstrusler som f.eks. DDoS-angreb.

Du kan bruge en streng firewall til at hærde den reversed proxy med strammere sikkerhed mod almindelige cyberangreb. Uden en reverse proxy er installeret, er det svært at fjerne malware eller starte fjernelser.

En reverse proxy som HAProxy kan tilføje grundlæggende HTTP-adgangsgodkendelse til en webserver, der ikke har den aktiveret. Du kan også bruge en reverse proxy til at tilføje centraliseret godkendelse til forskellige typer anmodninger.

Kraftfuld caching

Du kan bruge en reverse proxy til web-accelerationsformål ved at cache både statisk og dynamisk indhold. Dette kan reducere belastningen på originalserveren, hvilket resulterer i et hurtigere websted.

For eksempel, hvis din originalserver er i USA, og en bruger fra Europa besøger dit websted, kan du tjene en cachelagret version af dit websted fra en reverse proxy-server i Europa. Da den reversed proxy er tættere på brugeren end originalserveren, vil webstedet tage mindre tid at indlæse, hvilket får det til at fungere fremragende.

Varnish og Nginx FastCGI er fremtrædende eksempler på reverse proxyer, der bruges til cachelagring af webindhold. Hvis dit websted er hostet hos Kinsta, behøver du ikke bekymre dig om cachelagring, da Kinsta tager sig af alt cachelagringsarbejde for dig.

Overlegen kompression

Serverreaktioner bruger meget båndbredde. Komprimering af serversvar (f.eks. med gzip), før de sendes til klienten, kan reducere den krævede båndbredde, hvilket fremskynder serverresponser over netværket.

En reverse proxy er ideel til at komprimere serversvar, da den sidder mellem originalserverne og klienten.

Optimeret SSL-kryptering

Kryptering og dekryptering af SSL/TLS -anmodninger for hver klient kan være meget beskattende for originalserveren. En reverse proxy kan udføre denne opgave for at frigøre originalserverens ressourcer til andre vigtige opgaver, f.eks. visning af indhold.

En anden fordel ved at aflaste SSL/TSL-kryptering og dekryptering er at reducere ventetid for klienter, der er geografisk langt fra originalserveren.

Du kan også vælge en reverse proxy med specialiseret SSL/TLS -accelerationshardware for at optimere denne opgave endnu mere. Sådan en reverse proxy kaldes en SSL/TLS termination proxy. Nogle servere som Varnish understøtter ikke SSL/TSL-protokoller, så en SSL/TSL-afslutning reverse proxy kan hjælpe med at sikre den trafik, der passerer gennem dem.

Bedre A/B-test

De fleste A/B-testværktøjer kræver, at du bruger eksterne JavaScript-biblioteker til at indlæse deres funktioner. Imidlertid kan indlæsning af tredjeparts scripts bremse din side indlæsningstider og skabe en hakket oplevelse for brugerne.

I stedet kan du bruge en reverse proxy til at oprette to separate strømme på selve serverniveau. For eksempel kan du bruge Nginxs split_clients eller sticky route metoder til at styre trafikomdirigering.

Du kan henvise til selvstudier på Nginx og freeCodeCamp for at lære mere om at udføre A/B-test med en reverse proxy.

Overvågning og logning af trafik

En reverse proxy registrerer alle anmodninger, der går igennem den. Derfor kan du bruge dem som en central hub til at overvåge og logge trafik. Selvom du bruger flere webservere til at være vært for alle dit websteds komponenter, vil brug af en reverse proxy gøre det lettere at overvåge alle indgående og udgående data fra dit websted.

De mest populære reversed proxys

Ifølge W3Techs bruger næsten 83% af webstederne ingen reverse proxy-tjenester, som de overvåger.

Statistik over reverse proxyer, der bruges af websteder
Statistik over reverse proxyer, der bruges af websteder (Kilde: W3Techs.com)

Af de 17% websteder, der bruger en reverse proxy (angivet ovenfor), vil du bemærke, at de fleste af dem er CDN’er. Det er fordi de fleste reversed proxys skjuler deres eksistens som standard som en sikkerhedsforanstaltning. Derfor kan du ikke stole på websteds overvågningstjenester som W3Techs for at finde, hvilke reverse proxyer der er de mest populære.

Fra vores forskning og erfaring er de mest populære reverse proxyer i brug i dag:

Nginx

Nginx er en open source webserver, der også kan fungere som en reverse proxy. Bortset fra at blive brugt til at være vært for websteder, er det også en af de mest udbredte reverse proxy- og belastningsbalanceringsløsninger. I henhold til Netcraft brugte over 479 millioner webservere Nginx i december 2019, hvilket gør den til førende inden for webservers markedsandel.

Webservers markedsandel for alle websteder
Webservers markedsandel for alle websteder (Kilde: Netcraft)

Nginx giver alle de fordele ved reversed proxy, der er diskuteret ovenfor, plus mere. Det forbedrer webydelse, sikkerhed, pålidelighed og skalerbarhed. Du kan konfigurere Nginx ved hjælp af dens konfigurationsfil, som også kan genindlæses. Hos Kinsta er Nginx omvendt proxy en af flere premium-add-ons, du kan bruge.

Men du kan også bruge Nginx Plus, et kommercielt tilbud, for at få adgang til API-baserede konfigurationsmuligheder og andre funktioner, der er velegnede til store virksomhedswebsteder.

Kinsta driver alle sine websteder med Nginx. Det har rangeret i Review Signals Top Tier webhostingstatus i hver kategori, det har konkurreret i. Nogle andre store virksomheder, der bruger Nginx, er MaxCDN, Cloudflare og Netflix.

Opsætning af Nginx som en grundlæggende reverse proxy er enkel. Nginx giver dig også forskellige direktiver til at tilpasse din servers reverse proxy efter dine krav. Vi diskuterer, hvordan du gør dette i et senere afsnit. Hvis du er en Kinsta-kunde, lærer du også, hvordan du bruger en reverse proxy til websteder, der hostes med Kinsta i samme sektion.

Varnish

Varnish er en open source HTTP reverse proxy med en indbygget cachemotor. Det er primært designet til websteder med høj trafik, der serverer dynamisk indhold. Du kan også bruge Varnish som en load balancer, en web app firewall (WAF) og en edge godkendelses- og autoriseringsserver.

Det fungerer på alle moderne versioner af Linux og FreeBSD og bruges hovedsageligt som front til Nginx eller Apache webservere. Varnys kraftfulde og meget fleksible Varnish Configuration Language (VCL) lader dig definere forskellige funktioner såsom håndtering af HTTP-anmodninger, caching og forbindelse til en eller flere webservere.

Af denne grund bruger mange CDN’er Varnish som deres vigtigste fundament for at levere indhold hurtigt.

Varnish understøtter også Edge Side Includes (ESI), et sprog, der hjælper dig med at genbruge dele af en webside på andre websider. Hvis dit websted bruger meget gentaget indhold på forskellige sider, kan ESI hjælpe dig med at fremskynde dit websteds indlæsningstider ved at cache ofte brugte sektioner.

Du kan udvide Varnish med dens forskellige moduler (VMOD’er). Gå til Varnishs officielle tutorial for at lære, hvordan du konfigurerer Varnish som en reverse proxy til WordPress.

Apache Traffic Server

Apache Traffic Server er en open source-caching -proxyserver. Det er populært for sine hurtige, skalerbare funktioner. Det var et kommercielt produkt udviklet af Yahoo! for længe siden, men de lavede det open source og donerede det til Apache Foundation for vedligeholdelse.

Flere større content delivery networks og CDN’er som Comcast, Akamai, LinkedIn, Yahoo og Apple bruger Apache Traffic Server til at drive deres teknologi.

Du kan også bruge Apache HTTP server (Apache httpd), en HTTP-server demons, til at konfigurere en reverse proxy på din webserver. Bortset fra at fungere som en grundlæggende webserver, hjælper den dig også med at betjene statisk og dynamisk indhold til brugerne. Du lærer, hvordan du konfigurerer Apache som en reverse proxy senere i denne artikel.

HAProxy

HAProxy er en open source reverse proxy og load balancer. Det er designet til at integrere med de fleste eksisterende webserverarkitekturer, herunder Linux distributioner og cloud platforme. I lighed med Nginx bruger HAProxy en hændelsesdrevet I/O-model og understøtter opdeling af anmodninger på tværs af flere arbejdsprocesser.

For HTTP -anmodninger fungerer HAProxy usædvanligt godt, selv under tunge belastninger. Nogle af de mest trafikerede websteder på internettet som Airbnb, Reddit, Instagram, Stack Overflow, Tumblr, GitHub og Imgur bruger HAProxy til at levere deres websteder effektivt.

At diskutere, hvordan man implementerer HAProxy, er uden for denne artikels anvendelsesområde, men du kan henvise til deres dokumentation for at forstå, hvordan det fungerer.

Bemærk: Traefik og Envoy er to andre open source-alternativer til HAProxy. De er begge højtydende reverse proxyer og load balancers med mange avancerede funktioner.

Nogle andre populære reverse proxyer er AWS Elastic Load Balancer, GLBC, DigitalOcean Load Balancer og Google Cloud Load Balancer. For en udtømmende liste over de bedste reverse proxyer og lastbalancere, der bruges i dag, kan du tjekke Stackshare.io.

Omvendt proxy: Brugssager til
WordPress-websteder

Der er hovedsageligt tre brugssager til brug af en reverse proxy til WordPress-websteder, herunder websteder, der er hostet på Kinsta.

Indlæs af et 'Main Site’ vs et ‘Proxied Site'
Indlæs af et ‘Main Site’ vs et ‘Proxied Site’

Vi vil kun bruge Nginx til dette eksempel, da det er den mest populære reverse proxy, der bruges til WordPress-websteder i dag. Men de samme grundlæggende principper vil gælde for andre reversed proxys.

Reversed proxyer er ofte udfordrende at installere, konfigurere og understøtte. Af denne grund tilbyder Kinsta et månedligt add-on-abonnement på 50 USD for hver reverse proxy, som du har brug for hjælp til at oprette. Du kan kontakte Kinstas supportteam for yderligere oplysninger.

1. Main- og proxied-websteder, der er hostet på den samme server

Hvis både et main-webstedet og det proxied websted er hostet på den samme server, kan hovedwebstedet køre på en WordPress-installation, mens en separat WordPress-installation driver det proxied websted.

Da du har adgang til både webstederne og deres delte webserver, kan du konfigurere de reverse proxy-regler for hovedwebstedet og derefter konfigurere det proxy-websted, der skal indlæses fra den reverse proxy.

Hvis du er hoster for begge disse websteder på Kinsta, kan du kontakte Kinstas supportteam og bede dem om at oprette den reversed proxy for dig. Her er proceduren, du skal følge:

  • Sørg for, at både hovedwebstedet og det sted, der er i fuldmagt, er hostet på Kinsta. Hvis de ikke er det, kan du migrere begge websteder til Kinstas miljø, enten manuelt eller ved at indsende en migrations-anmodning.
  • Åbn en supportbillet, og giv Kinstas supportteam en klar beskrivelse af domænekonfigurationen. Jeg vil tage cirka en hverdag at oprette en reversed proxy.
  • Kinsta vil oprette de relevante reverse proxy-regler på hovedwebstedet og konfigurere det proxyede websted til at indlæse over den reverse proxy.

Her er standard Nginx reverse proxy -direktiver, der bruges af Kinsta til at indlæse et underkatalogwebsted over en reverse proxy:

location ^~ /subfolder/ {
proxy_pass http://subfolder.domain.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

I ovenstående kode skal du erstatte /subfolder/ placeholder med det faktiske underkatalognavn (f.eks. /blog/, /shop/). Plus, at http://subfolder.domain.com underdomænet skal matche den webadresse, der bruges til at pege den modsatte proxy mod det proxyede websted.

location-direktivet indeholder caret- og tilde symboler (^~) for at fortælle Nginx, at hvis den finder strengen defineret, skal den stoppe med at søge efter yderligere matches og bruge de direktiver, der er angivet her. Lær mere om Nginx’s reverse proxy -direktiver i dets dokumentation.

Dernæst skal du konfigurere det proxyede websted til at indlæse over den prixied proxy. Her er standardtrinnene efterfulgt af Kinsta for at konfigurere det proxyed websted:

  • Opret en underkatalog på den sti, hvor det sted, der er afsendt, indlæses fra. Alle proxies websteds filer flyttes til denne underkatalog.
  • Opdater webserverens konfigurationsfiler for at definere den nye underkatalog som rodmappen for det proxierede websted. Derudover skal du tilføje en omskrivningsregel for at fjerne underkataloget fra anmodnings -URI’en for hver indgående anmodning.
  • Opdater alle webadresser i det proximerede websteds database, så de matcher webstedets webadresser (f.eks. example.com/blog).
  • Rediger det proximerede websteds wp-config.php fil med $_SERVER['HTTP_HOST'] definitionen, og peg den på hovedwebstedets URL.
  • Hvis du bruger et SSL-certifikat, skal du definere strenge regler i wp-config.php-filen for at undgå omdirigerings loops.

Bemærk: Et sted i nærheden kan ikke oprette webadresser, der duplikerer det samme underkatalog, som det sted, hvor det sted, er indlæst. For eksempel kan et sted, der er i fuldmagt, på example.com/blog ikke oprette en side eller et bibliotek på example.com/blog/blog.

Har du brug for en lynhurtig, sikker og udviklervenlig hosting til dine websteder? Kinsta er bygget med WordPress -udviklere i tankerne og giver masser af værktøjer og et kraftfuldt dashboard. Tjek vores planer

2. Kun det proxy websted, der er hostet på din server

Hvis du kun har adgang til det proxyede websted og dets webserver, skal du kontakte serverens administrator på hovedwebstedet og bede dem om at oprette de reverse proxy-regler for dig.

For at gøre det skal du følge de samme trin som beskrevet ovenfor, undtagen i dette tilfælde skal du konfigurere reglerne på to forskellige servere.

For at være host for dit proxyside hos Kinsta skal du tilføje et domæne til webstedet, som vil pege på den prixied proxy. Normalt passer underdomæne til dette formål (f.eks. blog.example.com) til at indlæse det proxied websted via et underkataloglink (f.eks. example.com/blog).

Efter at du har konfigureret dit proxy-websted på Kinsta, kan du kontakte Kinsta supportteam for at konfigurere det proxy-websted til at indlæse over en reverse proxy. På nuværende tidspunkt vil vores supportteam kræve din servers rigtige IP -adresse for at fuldføre installationsprocessen på en måde, der tæller besøg korrekt. Hvis du ikke kan levere en statisk IP på grund af dynamiske IP-begrænsninger fra visse udbydere (f.eks. AWS CloudFront), konverteres din plan i stedet til en sammenlignelig båndbreddebaseret plan.

Endelig falder opsætningen af ​​den reversed proxy på din server uden for Kinsta-understøttelsen, da kun serveradministratoren kan tage sig af det.

3. Kun et main webstedet er hostet på din server

Hvis du kun har adgang til hovedwebstedet og dets webserver, skal du konfigurere den reversed proxy og konfigurere dens regler til at indlæse det proxierede websted fra en ekstern vært. Installation af og konfiguration af det proxierede websted til indlæsning over den reversed proxy er den sekundære servers administration ansvarlig.

At have dit main websted hosted på Kinsta giver dig adgang til Kinstas supportteam. Du kan rejse en supportbillet med dem for at tilføje de standard reverse proxy -regler, der er anført tidligere i denne artikel. Du kan også få tilføjet yderligere tilpasninger til disse regler, hvis det er nødvendigt.

I dette scenario er du fuldt ud ansvarlig for at konfigurere det proxyede websted til at indlæse det korrekt over den reversed proxy.

Sådan opsættes Nginx som en reverse proxy

Hvis Kinsta ikke er vært for dit websted, og du administrerer dine servere, skal du selv konfigurere den reversed proxy og konfigurere den til at pege mod det proxyed websted.

Afhængigt af din webservers operativsystem kan du installere Nginx anderledes. Til Linux-distributioner kan du bruge forskellige Nginx-pakker baseret på din Linux-distributions version.

I eksemplet herunder har vi installeret det primære websted på example.com domænenavn, mens det proxyede WordPress-websted er installeret på blog.domain.com underdomæne. De drives begge af Apache på en webserver, der kører på Ubuntu 18.04. Vi installerer og konfigurerer Nginx som en reverse proxy på hovedserveren.

For at begynde skal du få adgang til din servers terminal via SSH. Brug derefter kommandoen apt-get til at opdatere din distributions pakkeliste og installere Nginx på din webserver.

sudo apt update
sudo apt install nginx

Dernæst skal du konfigurere Nginx til proxy-anmodninger for domæner, der hostes på Apache. For at gøre det skal du oprette en ny virtuel værtfil. Her bruger jeg nano editoren til at tilføje koden, men du kan bruge enhver kode-editor efter eget valg.

sudo nano /etc/nginx/sites-available/example.com.conf

Indstil derefter Nginx-direktiver til at videresende anmodninger til Apache ved at tilføje følgende server {...} og location blokke:

server {
listen      80;
server_name example.com www.example.com;
index       index.php;
root        /var/www/example.com/public    # fallback for index.php
location / {
try_files $uri $uri/ /index.php?$query_string;
}location /blog {
proxy_pass http://blog.domain.com;proxy_http_version                 1.1;
proxy_cache_bypass                 $http_upgrade;

# Proxy headers
proxy_set_header Upgrade           $http_upgrade;
proxy_set_header Connection        "upgrade";
proxy_set_header Host              $host;
proxy_set_header X-Real-IP         $remote_addr;
proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host  $host;
proxy_set_header X-Forwarded-Port  $server_port;

# Proxy timeouts
proxy_connect_timeout              60s;
proxy_send_timeout                 60s;
proxy_read_timeout                 60s;
}

I koden ovenfor definerer jeg et underkatalog example.com/blog-link, der vil blive betjent af Apache-serveren. Sørg for, at du bruger dit proxies websteds offentlige IP-adresse (eller URL) i proxy_pass-direktivet. I mit tilfælde hostes mit proxy-websted på underdomænet blog.domain.com.

Bemærk: Sørg for, at det proximerede websted er installeret og klar til at blive vist, før du foretager ændringer.

Du kan lære mere om alle de reverse proxy-direktiver, der bruges her, i Nginx’s detaljerede indeks over direktiver.

Gem den virtuelle host fil. Aktiver derefter den nye virtuelle vært ved at oprette et symlink til filerne navngivet example.com.conf i både /etc/nginx/sites-available og /etc/nginx/sites-enabled biblioteker.

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf

Test derefter Nginx for eventuelle konfigurationsfejl.

sudo nginx -t

Hvis der ikke er nogen fejl, skal du genindlæse Nginx for at håndhæve ændringerne.

sudo systemctl reload nginx

Du har med succes konfigureret Nginx til at fungere som en reverse proxy nu. For at bekræfte dette kan du bruge phpinfo()-funktionen til at kontrollere de PHP-variabler, der er indlæst, når du besøger dit proxy-websted.

Under variablerne SERVER_SOFTWARE og DOCUMENT_ROOT PHP kan du se, at Apache betjener dette domæne på backend. Men HTTP_X_REAL_IP og HTTP_X_FORWARDED_FOR PHP-variabler bekræfter, at Nginx blev brugt som en reverse proxy til at videresende anmodningerne.

Du kan fremskynde betjeningen af ​​dit WordPress-websted via Nginx ved hjælp af modulerne fastcgi_cache og ngx_cache_purge. Mens det første modul gemmer dit websted i cachen, renser det andet modul automatisk cachen baseret på bestemte begivenheder (f.eks. udgivelse eller redigering af et WordPress-indlæg/en side).

Du kan bruge Nginx Cache Controller WordPress plugin til at styre Nginxs proxyserver cache direkte fra dit WordPress admin dashboard. Hvis du bruger en WordPress Multisite -installation, kan du bruge Nginx Helper-plugin til at gøre det samme.

Se Nginx hoved dokumentation og Nginx Nginx WordPress setup guide for en detaljeret oversigt over, hvordan du arbejder med Nginx og WordPress.

Sådan opsættes Apache som en reverse proxy

Inden du begynder, skal du sørge for at have to websteder i gang på example.com og blog.domain.com. Det første websted er muligvis et WordPress-websted, men det andet bør være et WordPress-websted, da det primært bruges til at indlæse roddomænes blog på example.com/blog-underkataloglink.

Start med at konfigurere Apache ved at åbne din servers terminal via SSH og aktivere Apaches proxy-modul.

sudo a2enmod proxy proxy_http ssl

Kørsel af ovenstående kommando vil sandsynligvis genstarte Apache for at genindlæse de nyligt definerede direktiver.

Rediger derefter din hovedservers virtuelle værtsfil for at oprette en reverse proxy. Her er koden, du skal tilføje:

<VirtualHost *>
DocumentRoot /var/www/app/public
SSLProxyEngine On    ProxyRequests off
ProxyPass /blog http://blog.domain.com
ProxyPassReverse /blog  http://blog.domain.com
</VirtualHost>

ProxyPass-direktivet vil oprette en reverse proxy for de angivne stier, mens ProxyPassReverse-direktivet vil opfange HTTP response headers, der er sendt via denne reverse proxy, og omskrive dem til at matche Apache -serveren.

Efter at have gemt filen, skal du redigere din wp-config.php-fil ved at tilføje følgende kode lige før den linje, der beder dig om at stoppe med at redigere.

# ProxyPass Settings
# overrides the variables below to ensure that any
# request to /blog/* subdirectory is taken care of properly
$_SERVER['REQUEST_URI'] = '/blog' . $_SERVER['REQUEST_URI'];
$_SERVER['SCRIPT_NAME'] = '/blog' . $_SERVER['SCRIPT_NAME'];
$_SERVER['PHP_SELF'] = '/blog' . $_SERVER['PHP_SELF'];

Endelig skal du opdatere dit WordPress-websteds database for at tilføje konfigurationsværdierne til linket /blog-underkatalog. Du kan gøre det ved at køre følgende SQL-forespørgsel:

UPDATE wp_options SET option_value = 'https://www.example.com/blog' WHERE option_name IN( 'siteurl', 'home' );

Du skal nu kunne besøge https://www.example.com/blog URL og få dit WordPress -websted hostet på http://blog.domain.com underdomæne indlæsning uden at ændre dets URL. Du kan fortsætte med at bruge WordPress som normalt til at gennemse, skrive, redigere og administrere dit websted.

Begrænsninger for en reverse proxy

  • En reverse proxy udgør en betydelig sikkerhedsrisiko, da den kan læse og ændre al trafik, der passerer gennem den. Hvis du sender HTTPS-trafik gennem den reversed proxy, skal den dekryptere og omkryptere de passerende data. Det betyder, at den skal have SSL/TLS-certifikatets private nøgler. Såfremt en ondsindet part kan kompromittere din reverse proxy, kan de logge adgangskoder og injicere malware på dine websteder.
  • Hvis du eller dine brugere ikke kan få adgang til din hovedserver direkte, kan brug af en reverse proxy føre til et enkelt fejlpunkt. For eksempel, hvis du bruger en reverse proxy som front til at betjene flere domæner, kan dens afbrydelse føre til, at alle domæner går offline samtidigt.
  • Hvis du er afhængig af en tredjeparts reverse proxy (f.eks. Cloudflare), overleverer du dit websteds følsomme oplysninger til dem. Selvom der er tillid til dem, kan du ikke forudsige, hvad det kan føre til.
  • Gendannelse af backups eller skubbe scene-websites live på websteder, der indlæses over en reverse proxy, kan forårsage, at det proxyede websted stopper med at indlæse korrekt.

Valg mellem et CDN og en reverse proxy

CDN’er er en avanceret form for reverse proxy med det meste af konfigurationen og vedligeholdelsen varetaget af en tredjepart. De kan levere fantastiske ydelsesfordele til dit WordPress-websted med mindre indsats fra din side.

CDN’er gemmer ikke kun indhold og serverer det hurtigt for brugerne, men det reducerer også belastningen på dine originalservere, reducerer omkostninger til båndbredde, giver et ekstra lag af sikkerhed, øger dit websteds SEO og hjælper dig med at skalere dit websted bedre.

Du vil bemærke, at de fleste fordele ved CDN’er er de samme som dem, der tilbydes af reversed proxys. Så skal du vælge et CDN frem for en reverse proxy eller reverse?

Der er ingen grund til, at du skal nøjes med kun en. Hvis du allerede har en reverse proxy installeret, kan du stadig se hastigheds- og ydeevne ved at bruge et CDN. Begge deres cacher ligger godt sammen, og hvis du har unikke behov for håndtering af anmodninger (f.eks. dynamisk indhold, e-handel), kan du nemt konfigurere det med nogle brugerdefinerede headers, der videregives af CDN eller den reversed proxy.

Vil du lære mere om reverse proxy-servere? Denne artikel dækker ... ✅ hvordan de fungerer, ✅ store fordele ✅ hvordan du kan bruge dem til at fremskynde og sikre dit WordPress -websted.Click to Tweet

Resumé

WordPress er yderst fleksibel. Du kan bruge det som en blog, et e-handelswebsted eller endda et Learning Management System. I de fleste tilfælde kan du tilpasse WordPress, så det passer til dine unikke krav.

Nogle gange skal du dog muligvis bruge et separat domæne eller en sekundær server til at være vært for et ekstra websted. Som diskuteret tidligere kan det være på grund af at bruge forskellige teknologiestakke til et stort virksomhedswebsted eller lancere en WordPress-blog til et allerede eksisterende ikke-WordPress-websted.

En reverse proxy kan hjælpe i begge disse tilfælde og hjælpe dig med at få mest muligt ud af WordPress uden at opgive dit main webstedet og starte forfra.


Spar tid, omkostninger og maksimer webstedets ydeevne med:

  • Øjeblikkelig hjælp fra WordPress-hostingeksperter, 24/7.
  • Cloudflare Enterprise integration.
  • Globalt publikum når med 34 datacentre verden over.
  • Optimering med vores indbyggede Application Performance Monitoring.

Alt dette og meget mere, i en plan uden langsigtede kontrakter, assisteret migration og en 30-dages pengene-tilbage-garanti. Tjek vores planer, eller tal med salgsteamet for at finde den plan, der passer til dig.