Εκτός από τον Apache, ο Nginx είναι ο πιο δημοφιλής διαθέσιμος διακομιστής ιστού. Εκτός από διακομιστής ιστού, μπορεί επίσης να χρησιμοποιηθεί ως εξισορρόπηση φορτίου ή αντίστροφο διακομιστή μεσολάβησης. Σε αυτό το σεμινάριο, το Quantrimang.com θα σας δείξει πώς μπορείτε να χρησιμοποιήσετε το Nginx ως αντίστροφο διακομιστή μεσολάβησης.
Τι είναι ο αντίστροφος διακομιστής μεσολάβησης;
Ένας διακομιστής μεσολάβησης λειτουργεί ως ενδιάμεσος μεταξύ ενός πελάτη και ενός άλλου διακομιστή. Ο διακομιστής μεσολάβησης ανακτά πόρους από τον διακομιστή στον οποίο θέλετε να συνδεθείτε και σας τον στέλνει για προβολή. Ένας αντίστροφος διακομιστής μεσολάβησης λειτουργεί με τον ίδιο τρόπο, εκτός από το ότι οι ρόλοι αντιστρέφονται. Όταν ζητάτε πληροφορίες από τον διακομιστή, ο αντίστροφος διακομιστής μεσολάβησης διατηρεί το αίτημα και το στέλνει στον κατάλληλο διακομιστή υποστήριξης. Αυτό επιτρέπει στους διαχειριστές συστήματος να χρησιμοποιούν τον διακομιστή για πολλαπλές εφαρμογές, καθώς και να διασφαλίζουν ομαλότερη ροή κυκλοφορίας μεταξύ πελάτη και διακομιστή.

Οφέλη από αντίστροφα πληρεξούσια
Ανάλογα με την αίτησή σας, ενδέχεται να έχετε διαφορετικές περιπτώσεις χρήσης αντίστροφου διακομιστή μεσολάβησης.
- Ένας αντίστροφος διακομιστής μεσολάβησης σάς επιτρέπει να εκτελείτε πολλές εφαρμογές στον ίδιο διακομιστή - Εάν έχετε πολλές εφαρμογές που εκτελούνται στον ίδιο διακομιστή, δεν μπορούν να "ακούν" όλες ταυτόχρονα στη θύρα 80 ή 433. Με έναν αντίστροφο διακομιστή μεσολάβησης, μπορείτε να το ρυθμίσετε για να ανακατευθύνει την κυκλοφορία σε μεμονωμένες εφαρμογές, εάν χρειάζεται.
- Εξισορρόπηση φόρτου - Εάν έχετε πολλούς διακομιστές που εκτελούν την ίδια εφαρμογή, μπορείτε να χρησιμοποιήσετε έναν αντίστροφο διακομιστή μεσολάβησης για να κατανείμετε την κυκλοφορία ομοιόμορφα σε κάθε διακομιστή.
- Τείχος προστασίας εφαρμογών Ιστού - Μπορείτε να χρησιμοποιήσετε αντίστροφο διακομιστή μεσολάβησης για να αποκρύψετε την εφαρμογή σας και επίσης για να φιλτράρετε ανεπιθύμητες διευθύνσεις IP ή να προστατεύσετε από επίθεση DDOS .
- Εύκολη καταγραφή και έλεγχος - Εφόσον όλη η εισερχόμενη κίνηση διαχειρίζεται από έναν αντίστροφο διακομιστή μεσολάβησης, είναι ευκολότερο να καταγράψετε και να παρακολουθήσετε τις ροές κυκλοφορίας.
Διαμορφώστε το Nginx ως αντίστροφο διακομιστή μεσολάβησης
Για να ρυθμίσετε το Nginx ως αντίστροφο διακομιστή μεσολάβησης, το άρθρο θα χρησιμοποιήσει την παράμετρο proxy_pass στο αρχείο διαμόρφωσης Nginx.
Σημείωση : Αυτό το σεμινάριο προϋποθέτει ότι έχετε κάποια γνώση του Nginx και έχετε εγκαταστήσει και ρυθμίσει το Nginx στον διακομιστή σας.
Στις περισσότερες περιπτώσεις χρήσης, ο Nginx θα είναι ο διακομιστής διεπαφής, που «ακούει» τη θύρα 80 (HTTP) ή 443 (HTTPS) για εισερχόμενα αιτήματα. Δεδομένου ότι μπορεί να υπάρχει μόνο μία υπηρεσία "ακρόαση" στη θύρα 80 ή 443, η εφαρμογή σας θα πρέπει να "ακούει" σε άλλη θύρα, όπως η θύρα 8081. Η απλούστερη διαμόρφωση θα μοιάζει με αυτό:
server {
listen 80;
listen [::]:80;
server_name myapp.com;
location / {
proxy_pass http://localhost:8081/;
}
}
Αυτό σημαίνει ότι όλα τα αιτήματα στο myapp.com στη θύρα 80 θα ανακατευθυνθούν στη θύρα 8081.
Προηγμένες ρυθμίσεις
Εκτός από την οδηγία proxy_pass , υπάρχουν πολλές άλλες οδηγίες που μπορείτε να χρησιμοποιήσετε για πιο προηγμένες ρυθμίσεις.
- proxy_set_header - Αυτό σας επιτρέπει να ορίσετε μια κεφαλίδα για αποστολή στην εφαρμογή παρασκηνίου. Για παράδειγμα, δείτε την ακόλουθη διαμόρφωση:
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
Μπορείτε να ορίσετε τις απαραίτητες κεφαλίδες διακομιστή μεσολάβησης για μεταβίβαση στην εφαρμογή, να της πείτε την IP αιτήματος και την απομακρυσμένη διεύθυνση και, στη συνέχεια, να εξάγετε το σωστό περιεχόμενο στον ιστότοπο που ζητά.
- Χρονικό όριο λήξης διακομιστή μεσολάβησης - Αυτό σας επιτρέπει να ορίσετε την τιμή χρονικού ορίου για την αποστολή και τη λήψη αιτημάτων διακομιστή μεσολάβησης. Για παράδειγμα:
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
- proxy_buffers - Αυτό επιτρέπει στο Nginx να κρατά προσωρινά την απόκριση του διακομιστή μεσολάβησης και να τη στέλνει στον αιτούντα διακομιστή μόνο αφού ολοκληρώσει την απόκριση του διακομιστή μεσολάβησης. Για παράδειγμα:
proxy_buffers 32 4k;
Εάν η εφαρμογή σας στέλνει μεγάλο αριθμό αρχείων, τότε ίσως θέλετε να απενεργοποιήσετε τα proxy_buffers:
proxy_buffering off;
Όπως μπορείτε να δείτε, ο Nginx είναι ένας αντίστροφος διακομιστής μεσολάβησης που έχει πολλές χρήσεις. Το μεγαλύτερο πλεονέκτημα σχετικά με αυτό είναι ότι είναι απλό στη διαμόρφωση, εύκολο στη χρήση και εξακολουθεί να σας επιτρέπει να κλιμακώνεστε σε πιο περίπλοκα σενάρια. Για περισσότερες λεπτομέρειες, μπορείτε να δείτε την τεκμηρίωση της μονάδας διακομιστή μεσολάβησης Nginx (στη διεύθυνση https://nginx.org/en/docs/http/ngx_http_proxy_module.html) ή παραδείγματα διαμόρφωσης (στη διεύθυνση https://www .nginx.com/resources/wiki /start/topics/examples/full/).
Ελπίζω να είστε επιτυχημένοι.