Bagaimana untuk melaksanakan konfigurasi proksi terbalik Nginx

王林
Lepaskan: 2023-11-08 15:07:53
asal
1242 orang telah melayarinya

Bagaimana untuk melaksanakan konfigurasi proksi terbalik Nginx

Cara melaksanakan konfigurasi proksi terbalik Nginx memerlukan contoh kod khusus

Nginx ialah pelayan web sumber terbuka berprestasi tinggi dan pelayan proksi terbalik. Dalam aplikasi praktikal, kami sering menggunakan Nginx sebagai proksi terbalik untuk melaksanakan pengimbangan beban, caching, proksi terminal SSL dan fungsi lain. Artikel ini akan memperkenalkan cara mengkonfigurasi proksi terbalik Nginx dan memberikan contoh kod khusus.

  1. Pasang Nginx

Mula-mula, kita perlu memasang Nginx. Ia boleh dipasang melalui pengurus pakej (seperti apt-get, yum), atau anda boleh memuat turun kod sumber dari tapak web rasmi, menyusun dan memasangnya. Mengambil Ubuntu sebagai contoh, pasang Nginx melalui apt-get:

sudo apt-get update
sudo apt-get install nginx
Salin selepas log masuk
  1. Konfigurasi proksi terbalik

Dalam fail konfigurasi Nginx, kita perlu mengkonfigurasi proksi terbalik. Fail konfigurasi Nginx biasanya terletak di /etc/nginx/nginx.conf atau /etc/nginx/conf.d/default.conf. Sebelum mengubah suai fail konfigurasi, adalah disyorkan untuk menyandarkan konfigurasi asal.

Buka fail konfigurasi, cari nod http, dan tambahkan konfigurasi berikut di bawah nod:

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://backend_server;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
Salin selepas log masuk

Dalam konfigurasi di atas, listen menentukan port yang didengari Nginx (contohnya, 80), dan server_name menentukan nama domain bagi proksi terbalik (contohnya, contoh. com). Dalam nod lokasi, kami menetapkan alamat proksi terbalik (seperti http://backend_server) dan menggunakan arahan proxy_set_header untuk menghantar beberapa maklumat pengepala permintaan HTTP.

  1. Konfigurasikan pelayan bahagian belakang

Dalam fail konfigurasi, kami menggunakan http://backend_server sebagai alamat proksi terbalik. Di sini anda perlu menggantikan backend_server dengan alamat pelayan backend yang sebenar.

Terdapat banyak cara untuk menentukan alamat pelayan bahagian belakang. Berikut adalah dua cara biasa:

A. Gunakan alamat IP dan port

proxy_pass http://192.168.1.100:8000;
Salin selepas log masuk

B Gunakan nama domain dan port

proxy_pass http://backend.example.com:8000;
Salin selepas log masuk
  1. Mulakan semula Nginx

Selepas melengkapkan konfigurasi, simpan fail konfigurasi dan mulakan semula Nginx. konfigurasi berkuat kuasa :

sudo service nginx restart
Salin selepas log masuk
  1. Sahkan Proksi Terbalik

Kini, kami boleh mengesahkan bahawa proksi terbalik berfungsi dengan mengakses port yang sedang didengari Nginx (cth. 80). Akses http://example.com melalui pelayar atau arahan curl, dan anda sepatutnya boleh mendapatkan kandungan yang dikembalikan oleh pelayan bahagian belakang.

  1. Konfigurasi Lanjutan

Selain konfigurasi proksi terbalik asas, Nginx juga menyediakan banyak pilihan konfigurasi lanjutan untuk mengoptimumkan lagi prestasi dan kefungsian proksi terbalik. Berikut ialah beberapa contoh konfigurasi lanjutan yang biasa digunakan:

A Pengimbangan beban

upstream backend_servers {
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
}

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://backend_servers;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
Salin selepas log masuk

B Caching

http {
    ...

    proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m;

    server {
        listen 80;
        server_name example.com;

        location / {
            proxy_pass http://backend_server;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;

            proxy_cache my_cache;
            proxy_cache_valid 200 302 60m;
            proxy_cache_valid 404 1m;
        }
    }

    ...
}
Salin selepas log masuk

C proksi terminal SSL

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;

    location / {
        proxy_pass http://backend_server;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
Salin selepas log masuk

Contoh di atas hanyalah penggunaan asas dan senario terbalik Nginx. tidak menyeluruh. Untuk senario aplikasi yang kompleks, kami boleh mempunyai pemahaman yang mendalam tentang item dan modul konfigurasi Nginx seperti yang diperlukan, dan secara fleksibel menggunakan fungsi berkuasanya untuk melaksanakan proksi dan strategi pengoptimuman yang diperlukan.

Ringkasan

Artikel ini memperkenalkan cara melaksanakan konfigurasi proksi terbalik Nginx dan memberikan contoh kod khusus. Melalui proksi terbalik Nginx, kami boleh melaksanakan pengimbangan beban, caching, proksi terminal SSL dan fungsi lain untuk meningkatkan prestasi dan kebolehpercayaan aplikasi web. Saya harap artikel ini akan membantu pembaca yang baru mengenali Nginx.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan konfigurasi proksi terbalik Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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