Rumah > Operasi dan penyelenggaraan > Nginx > Bagaimana Nginx mengedarkan melalui identiti dalam pengepala

Bagaimana Nginx mengedarkan melalui identiti dalam pengepala

WBOY
Lepaskan: 2023-05-11 16:01:13
ke hadapan
1069 orang telah melayarinya

Nginx boleh mengedarkan permintaan kepada pelayan berbeza berdasarkan pengecam tersuai dalam pengepala permintaan. Khususnya, anda boleh menggunakan arahan peta untuk memetakan pengecam tersuai dalam pengepala permintaan ke alamat pelayan hujung belakang yang berbeza, dan kemudian gunakan arahan proxy_pass untuk memajukan permintaan ke pelayan hujung belakang yang sepadan.

Berikut ialah contoh fail konfigurasi:

http {
    map $http_my_header $backend {
        default   backend1.example.com;
        value1    backend2.example.com;
        value2    backend3.example.com;
    }
    
    upstream backend1 {
        server 192.168.1.1:8080;
        server 192.168.1.2:8080;
    }

    upstream backend2 {
        server 192.168.2.1:8080;
        server 192.168.2.2:8080;
    }

    upstream backend3 {
        server 192.168.3.1:8080;
        server 192.168.3.2:8080;
    }

    server {
        listen 80;
        server_name example.com;

        location / {
            proxy_pass http://$backend;
        }
    }
}
Salin selepas log masuk

Dalam fail konfigurasi ini, kami mentakrifkan arahan peta untuk memetakan pembolehubah $http_my_header dalam pengepala permintaan ke alamat pelayan bahagian belakang yang berbeza. Jika nilai $http_my_header ialah value1, permintaan akan dimajukan ke backend2.example.com jika nilai $http_my_header ialah value2, permintaan akan dimajukan ke backend3.example.com; backend1.example.com.

Seterusnya, kami mentakrifkan tiga blok huluan, mewakili kumpulan pelayan bahagian belakang hujung belakang1, hujung belakang2 dan hujung belakang3, setiap kumpulan mengandungi berbilang pelayan hujung belakang. Dalam blok pelayan, kami menggunakan arahan proxy_pass untuk memajukan permintaan ke pelayan hujung belakang yang sepadan.

Selepas konfigurasi ini, jika nilai $http_my_header dalam pengepala permintaan ialah nilai1, permintaan akan dimajukan ke kumpulan pelayan hujung belakang2 jika nilai $http_my_header ialah nilai2, permintaan akan dimajukan kepada kumpulan pelayan backend3 jika tidak, permintaan akan dimajukan ke kumpulan pelayan backend1.

Konfigurasikan soket dan tambah beberapa konfigurasi:

server {
        listen 80;
        server_name example.com;

        location /websocket {
            proxy_pass http://$backend;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "Upgrade";
        }
    }
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana Nginx mengedarkan melalui identiti dalam pengepala. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan