Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Proksi terbalik Nginx menetapkan nama domain dan melaksanakan pemajuan dengan elegan

Proksi terbalik Nginx menetapkan nama domain dan melaksanakan pemajuan dengan elegan

WBOY
WBOYasal
2023-07-04 18:49:379110semak imbas

Proksi terbalik Nginx menetapkan nama domain dan melaksanakan pemajuan secara elegan

Ikhtisar
Dalam pembangunan web, kami sering menghadapi situasi di mana proksi diperlukan untuk memajukan permintaan. Sebagai pelayan web berprestasi tinggi, Nginx boleh memajukan permintaan melalui proksi terbalik, dengan itu mencapai pengimbangan beban yang cekap dan konfigurasi dinamik.

Prinsip asas proksi terbalik Nginx adalah untuk menghantar permintaan daripada klien ke pelayan Nginx, dan kemudian pelayan Nginx memajukan permintaan itu ke pelayan belakang yang sebenarnya memproses permintaan tersebut. Dengan menetapkan nama domain, kami boleh melaksanakan peraturan pemajuan proksi yang berbeza untuk permintaan daripada nama domain yang berbeza.

Tetapkan nama domain
Untuk melaksanakan pemajuan proksi nama domain, anda perlu mengkonfigurasi resolusi nama domain terlebih dahulu. Katakan kita mempunyai dua nama domain yang perlu dimajukan, iaitu www.example1.com dan www.example2.com Kita boleh menyelesaikan kedua-dua nama domain ini ke alamat IP pelayan Nginx pada konsol penyedia perkhidmatan DNS.

Seterusnya, kita perlu menetapkan peraturan pemajuan proksi untuk nama domain dalam fail konfigurasi Nginx. Buka fail konfigurasi Nginx, biasanya terletak di /etc/nginx/nginx.conf, cari blok pelayan, dan kemudian konfigurasikan nama domain yang sepadan dan peraturan pemajuan dalam blok pelayan.

Kod sampel adalah seperti berikut:

server {
    listen 80;
    server_name www.example1.com;

    location / {
        proxy_pass http://backend1;
        proxy_set_header Host $host;
    }
}

server {
    listen 80;
    server_name www.example2.com;

    location / {
        proxy_pass http://backend2;
        proxy_set_header Host $host;
    }
}

Dalam kod di atas, kami mula-mula menentukan blok pelayan, tetapkan arahan dengar untuk mendengar port 80 dan arahan server_name menetapkan nama domain kepada www.example1.com. Arahan konfigurasi proxy_pass dalam blok lokasi menentukan bahawa sasaran pemajuan permintaan ialah http://backend1. Arahan proxy_set_header menetapkan medan Hos pengepala permintaan kepada $host, iaitu untuk mengekalkan keaslian permintaan.

Begitu juga, kami menambah blok pelayan lain, tetapkan nama_pelayan kepada www.example2.com dan proxy_pass ke http://backend2.

Mengkonfigurasi sasaran pemajuan
Dalam konfigurasi di atas, kami menggunakan hujung belakang1 dan hujung belakang2 sebagai sasaran pemajuan. Kedua-dua sasaran ini merujuk kepada alamat pelayan bahagian belakang, yang boleh menjadi nama domain, alamat IP atau soket domain UNIX.

Untuk mengaitkan kedua-dua sasaran pemajuan ini dengan pelayan hujung belakang yang sebenarnya mengendalikan permintaan, kami perlu menambah blok huluan di dalam blok http fail konfigurasi Nginx, kod sampel adalah seperti berikut:

http {
    upstream backend1 {
        server backend1.example.com;
    }
    upstream backend2 {
        server backend2.example.com;
    }
}

Dalam kod di atas, kami Dua blok huluan ditakrifkan untuk mengaitkan alamat pelayan hujung belakang dengan hujung belakang1 dan hujung belakang2 melalui arahan pelayan. Antaranya, backend1.example.com dan backend2.example.com ialah alamat pelayan backend yang sebenarnya mengendalikan permintaan.

Mulakan Semula Nginx
Selepas melengkapkan konfigurasi nama domain dan sasaran pemajuan, kita perlu memulakan semula pelayan Nginx untuk menjadikan konfigurasi berkuat kuasa. Masukkan arahan berikut dalam terminal untuk memulakan semula:

sudo service nginx restart

Kemudian, anda boleh menguji sama ada pemajuan ditetapkan dengan betul dengan melawati www.example1.com dan www.example2.com.

Ringkasan
Dengan menetapkan nama domain dan peraturan pemajuan, kami boleh melaksanakan proksi terbalik dan permintaan hadapan Nginx kepada pelayan bahagian belakang yang berbeza. Ini membolehkan anda mengkonfigurasi peraturan pemajuan secara fleksibel dan mencapai pengimbangan beban yang cekap dan konfigurasi dinamik. Pada masa yang sama, Nginx juga menyediakan banyak modul dan fungsi, yang boleh mengembangkan lagi keupayaan proksi terbalik untuk memenuhi lebih banyak keperluan.

Atas ialah kandungan terperinci Proksi terbalik Nginx menetapkan nama domain dan melaksanakan pemajuan dengan elegan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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