Hvordan sette opp en omvendt proxy på Ubuntu Server 18.04

Bilde: Jack Wallen

Dette kommer fra kontoret til "Du trenger kanskje ikke noen gang det, men når du gjør det, vil du være glad for at du vet hvordan."

En omvendt proxy er en proxy-server som godtar HTTP (eller HTTPS) forespørsler og mater dem automatisk til backend-servere. Dette kan være nyttig når du har et nettsted som fungerer med backend-applikasjoner som må mates inn direkte fra nettstedet. Ved hjelp av Apache kan du få dette til å skje med en relativt lett mengde. Jeg kommer til å gå gjennom prosessen med å sette opp en grunnleggende reverse proxy på den nyeste versjonen av Ubuntu Server (18.04).

Mer om Open Source

  • 8 av tiårets verste open source-innovasjoner
  • Åpen kilde i 2020: Fremtiden ser lys ut
  • Linus Torvalds: "Git beviste at jeg kunne være mer enn et en-rart."
  • 20 raske tips for å gjøre Linux-nettverk enklere (gratis PDF)

Hva du trenger

Du trenger en server (eller virtuell maskin) som kjører Ubuntu Server 18.04 med Apache installert. Hvis serveren din ikke allerede har Apache installert, kan du oppnå det med den eneste kommandoen sudo apt install lamp-server ^ .

La oss få dette til å skje.

SE: Sikre Linux-policy (Tech Pro Research)

avhengig

Vi kommer til å jobbe med et verktøy som heter Flask, et mikro-rammeverk skrevet i Python brukt til utvikling av webapplikasjoner. Åpne et terminalvindu og installer Flask med følgende kommandoer:

 sudo apt-get-oppdatering sudo apt-get -y installer python3-pip sudo pip3 installer kolbe 

Deretter må vi aktivere noen få Apache-moduler. For å gjøre dette, utgi følgende kommandoer:

 sudo a2enmod proxy sudo a2enmod proxy_http sudo a2enmod proxy_balancer sudo a2enmod lbmethod_byrequests 

Nå må Apache startes på nytt med kommandoen:

 sudo systemctl omstart apache2 

Backend-servere

Nå må vi lage to enkle backend-servere. Vi skal lage disse med et minimum av konfigurasjoner og alternativer. Lag konfigurasjonsfilen for den første backend-serveren med kommandoen:

 nano ~ / backend_server_1.py 

I den filen kopier du følgende innhold:

 fra flaskeimport Flaskeapp = Flaske (__ navn__) @ app.route ('/') def home (): return 'Backend 1!' 

Lagre og lukk den filen. Lag en annen konfigurasjonsfil som heter backend_server_2.py med innholdet:

 fra flaskeimport Flaskeapp = Flaske (__ navn__) @ app.route ('/') def home (): return 'Backend 2!' 

Lagre og lukk den filen.

Nå bruker vi kolbeverktøyet for å starte den første bakgrunnsserveren på port 8080 og omdirigere utdataene til / dev / null . Kommandoen for dette er:

 FLASK_APP = ~ / backend_server_1.py flaskekjøring --port = 8080> / dev / null 2> & 1 & 

Start den andre backend-serveren (på port 8081) med kommandoen:

 FLASK_APP = ~ / backend_server_2.py flaskekjøring --port = 8081> / dev / null 2> & 1 & 

SE: 20 raske tips for å gjøre Linux-nettverk enklere (gratis TechRepublic PDF)

Testing av oppsettet

La oss teste prosessen så langt. Fra terminalvinduet, gi kommandoen:

 krøll http://127.0.0.1:8080 

Du bør se Backend 1 i utdataene ( figur A ).

Figur A

Backend 1-serveren lytter.


Gi nå kommandoen:

 krøll http://127.0.0.1:8081 

Denne gangen skal du se Backend 2-rapportering ( figur B ).

Figur B

Backend 2 rapportering i.


Konfigurerer Apache

På dette tidspunktet kan du nå disse backend-serverne bare fra localhost-adressen (127.0.0.1). Hvis du trenger tilgang til omvendt proxy fra LAN, må du konfigurere Apache på nytt. Før du gjør dette, må du lage en kopi av din nåværende Apache-konfigurasjonsfil med kommandoen:

 sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/000-default.conf.bak 

Gi kommandoen:

 sudo nano /etc/apache2/sites-available/000-default.conf 

Bytt ut hele innholdet i filen med følgende:

 ProxyPreserveHost On ProxyPass / http://127.0.0.1:8080/ ProxyPassReverse / http://127.0.0.1:8080/ 

Lagre og lukk den filen. Start Apache på nytt med kommandoen:

 sudo systemctl omstart apache2 

Hvis du fremdeles har den opprinnelige Apache index.html-filen i / var / www / html / flytt den med kommandoen:

 sudo mv /var/www/html/index.html /var/www/html/index.html.bak 

Nå peker en nettleser til http: // SERVER_IP (der SERVER_IP er IP-adressen til serveren din). Du skal nå se Backend 1 skrevet ut i nettleseren. Den omvendte fullmakten fungerer.

Det er alt det er å gjøre

Mine damer og herrer, du har nå en grunnleggende omvendt proxy som kjører på Ubuntu Server 18.04. Avhengig av dine behov, bør dette tjene som et utgangspunkt for å komme deg dit du trenger å dra. Dette vil være nyttig hvis du trenger å overføre tilkoblinger fra en webserver til en backend-applikasjonsserver.

Ukens nyhetsbrev med åpen kildekode

Du vil ikke gå glipp av våre tips, opplæringsprogrammer og kommentarer til Linux OS og open source applikasjoner. Leveres tirsdager

Registrer deg i dag

Les også ...

  • Hvordan konfigurere, overvåke og administrere Apache med ApacheGUI (TechRepublic)
  • Hvordan forbedre Apache-serversikkerhet ved å begrense informasjonen den avslører (TechRepublic)
  • Apache eller NGINX: Hvilken webserver passer for deg? (TechRepublic Video)
  • Slik fremskynder du Apache med lakkert HTTP-cache (TechRepublic)
  • Vi avbryter denne revolusjonen: Apache Spark endrer spillereglene (ZDNet)

Andre tips?

Har du et favoritt open source triks eller tidsbesparere? Del det med andre TechRepublic-medlemmer i kommentarfeltet nedenfor.

© Copyright 2020 | mobilegn.com