Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Aplikasi kawalan akses dan kawalan aliran dalam proksi terbalik Nginx

Aplikasi kawalan akses dan kawalan aliran dalam proksi terbalik Nginx

WBOY
WBOYasal
2023-06-10 18:58:401305semak imbas

Nginx ialah pelayan web berprestasi tinggi, sumber terbuka dan serba boleh yang juga digunakan secara meluas sebagai pelayan proksi terbalik. Pelayan proksi terbalik boleh digunakan untuk menyediakan ciri seperti pengimbangan beban, ketersediaan tinggi, kawalan akses dan kawalan trafik. Artikel ini akan memperkenalkan aplikasi kawalan akses dan kawalan aliran dalam proksi terbalik Nginx.

1. Kawalan akses

  1. Senarai hitam/senarai putih alamat IP

Nginx boleh melaksanakan permintaan dengan mengkonfigurasi senarai hitam alamat IP atau kawalan akses senarai putih. Alamat IP dalam senarai hitam akan dinafikan akses, manakala alamat IP dalam senarai putih akan dibenarkan akses. Sebagai contoh, kita boleh menambah kod berikut pada fail konfigurasi Nginx:

# IP地址黑名单
location / {
    deny 192.168.1.1;
    deny 192.168.1.2;
    allow all;
}

# IP地址白名单
location / {
    deny all;
    allow 192.168.1.1;
    allow 192.168.1.2;
}
  1. Kawalan akses berdasarkan pengesahan pengguna

Nginx juga boleh melepasi nginx-http-auth -digest modul Laksanakan kawalan capaian berdasarkan pengesahan pengguna. Sebagai contoh, kita boleh menambah kod berikut pada fail konfigurasi Nginx:

# 用户认证
location / {
    auth_digest "Enter username and password";
    auth_digest_user_file /etc/nginx/user.passwd;
}

Antaranya, /etc/nginx/user.passwd ialah fail yang menyimpan nama pengguna dan kata laluan. Selepas konfigurasi selesai, pengguna perlu memasukkan nama pengguna dan kata laluan mereka untuk mengakses pelayan proksi terbalik Nginx.

2. Kawalan aliran

1. Hadkan kadar permintaan

Nginx boleh mengehadkan kadar permintaan melalui modul ngx_http_limit_req_module. Sebagai contoh, kita boleh menambah kod berikut pada fail konfigurasi Nginx:

# 限制请求速率
http {
    limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
    server {
        location / {
            limit_req zone=one burst=5;
        }
    }
}

Di mana, rate=1r/s bermakna hanya satu permintaan dibenarkan sesaat, dan burst=5 bermakna pecahan 5 permintaan dibenarkan sebagai tindak balas. Kaedah mengehadkan kadar permintaan ini menghalang pengguna berniat jahat daripada menggunakan sumber pelayan dengan menghantar sejumlah besar permintaan.

2. Hadkan kadar sambungan

Nginx boleh mengehadkan kadar sambungan melalui modul ngx_http_limit_conn_module. Sebagai contoh, kita boleh menambah kod berikut dalam fail konfigurasi Nginx:

# 限制连接速率
http {
    limit_conn_zone $binary_remote_addr zone=addr:10m;
    server {
        location / {
            limit_conn addr 10;
        }
    }
}

di mana limit_conn_zone digunakan untuk menentukan kawasan storan kongsi untuk had kadar sambungan, dan limit_conn digunakan untuk mengehadkan bilangan maksimum sambungan bagi setiap IP alamat. Kaedah mengehadkan kadar sambungan ini menghalang pengguna berniat jahat daripada menafikan perkhidmatan dengan memonopoli sejumlah besar sambungan.

Ringkasan

Pelayan proksi terbalik Nginx mempunyai keupayaan aplikasi yang kukuh dalam kawalan akses dan kawalan aliran, dan boleh melepasi senarai hitam/senarai putih alamat IP, pengesahan pengguna, had kadar permintaan dan pengehadan kadar sambungan dan kaedah lain untuk melaksanakan kawalan akses dan kawalan aliran permintaan. Kaedah ini boleh melindungi sumber pelayan dengan berkesan dan meningkatkan ketersediaan dan keselamatan perkhidmatan.

Atas ialah kandungan terperinci Aplikasi kawalan akses dan kawalan aliran dalam proksi terbalik Nginx. 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