Rumah Operasi dan penyelenggaraan Nginx Konfigurasi kawalan akses berasaskan ekspresi biasa dalam proksi terbalik Nginx

Konfigurasi kawalan akses berasaskan ekspresi biasa dalam proksi terbalik Nginx

Jun 10, 2023 pm 11:09 PM
ungkapan biasa nginx proksi terbalik

Nginx ialah pelayan web berprestasi tinggi dan pelayan proksi terbalik yang digunakan secara meluas dalam perkhidmatan Internet kerana kecekapan dan kebolehskalaannya. Nginx menyediakan banyak mekanisme untuk mengawal akses dan aplikasi web yang selamat, salah satunya ialah kawalan akses berasaskan ekspresi biasa. Artikel ini akan membincangkan cara menggunakan konfigurasi kawalan akses berasaskan ekspresi biasa dalam proksi terbalik Nginx.

Asas proksi terbalik Nginx

Sebelum kita mula menerangkan cara menggunakan kawalan akses berasaskan ekspresi biasa, kita perlu memahami beberapa pengetahuan asas proksi terbalik Nginx.

Prinsip kerja asas proksi terbalik Nginx adalah untuk memajukan permintaan pelanggan ke perkhidmatan hujung belakang. Biasanya, pelanggan mengakses aplikasi web melalui permintaan HTTP, dan pelayan proksi terbalik menerima permintaan ini, memajukannya ke pelayan web bahagian belakang dan mengembalikan respons kepada klien.

Tidak seperti pengimbang beban tradisional, proksi terbalik Nginx boleh melaksanakan tugas lain selain hanya memajukan permintaan ke pelayan hujung belakang, seperti mengawal akses, menyimpan cache kandungan, mengubah suai pengepala permintaan dan tindak balas, dsb.

Kawalan akses berasaskan ekspresi biasa

Nginx menyediakan banyak mekanisme untuk mengawal akses dan mengamankan aplikasi web, salah satunya ialah kawalan akses berasaskan ekspresi biasa. Ungkapan biasa boleh memadankan URL permintaan dengan tepat. Oleh itu, menggunakan ungkapan biasa sebagai peraturan padanan membolehkan kami mengawal akses yang diminta dengan lebih tepat.

Cara biasa untuk menggunakan ungkapan biasa untuk kawalan akses ialah menggunakan blok lokasi. Peranan blok lokasi adalah untuk memadankan URI yang diminta dan melaksanakan satu siri arahan apabila perlawanan berjaya. Arahan ini boleh termasuk proksi terbalik ke pelayan hujung belakang, menetapkan pengepala permintaan, respons caching, mengawal akses, dsb.

Menggunakan kawalan akses berasaskan ungkapan biasa, anda biasanya boleh menggunakan dua kaedah berikut:

  1. Benarkan/tolak semua permintaan, dan kemudian benarkan/tolak permintaan yang ditentukan melalui ungkapan biasa .
  2. Tolak semua permintaan, dan kemudian benarkan permintaan yang ditentukan melalui ungkapan biasa.

Di bawah ini kami akan memperkenalkan kedua-dua kaedah ini secara terperinci.

Benarkan/tolak semua permintaan, dan kemudian benarkan/tolak permintaan tertentu melalui ungkapan biasa

Kaedah ini adalah untuk menggunakan ungkapan biasa untuk menentukan sama ada permintaan itu membenarkan akses. Pertama, kita perlu menambah kandungan berikut pada fail konfigurasi Nginx:

location / {
  deny all;
  allow [ip_address];
}
Salin selepas log masuk

Konfigurasi di atas akan menyekat semua permintaan dan membenarkan akses kepada permintaan daripada alamat IP yang ditentukan. Seterusnya, kita boleh menggunakan ungkapan biasa untuk menentukan sama ada akses yang diminta dibenarkan. Contohnya, jika kami hanya mahu membenarkan permintaan URL tertentu, kami boleh menggunakan konfigurasi berikut:

location / {
  deny all;
  allow [ip_address];
}

location ~ ^/allowed_path {
  allow all;
}
Salin selepas log masuk

Konfigurasi di atas akan membenarkan akses daripada permintaan daripada alamat IP yang ditentukan dan membenarkan akses kepada URL bermula dengan /allowed_path. Semua permintaan lain akan ditolak.

Tolak semua permintaan, dan kemudian benarkan permintaan tertentu melalui ungkapan biasa

Kaedah ini adalah untuk menolak semua permintaan dan menggunakan ungkapan biasa untuk membenarkan akses kepada permintaan tertentu. Kita boleh menggunakan yang berikut dalam fail konfigurasi Nginx:

location / {
  deny all;
}

location ~ ^/(allowed_path|another_path) {
  allow all;
}
Salin selepas log masuk

Konfigurasi di atas akan menafikan semua permintaan dan hanya membenarkan akses kepada permintaan bermula dengan /allowed_path atau /another_path.

Menggunakan ungkapan biasa untuk kawalan akses membolehkan kami mengawal akses yang diminta dengan lebih tepat. Walau bagaimanapun, untuk memastikan keselamatan dan prestasi, kami perlu mengkonfigurasi pelayan proksi terbalik Nginx dengan munasabah untuk mengelakkan pengalaman pengguna yang merendahkan kerana sekatan yang berlebihan pada permintaan. Pada masa yang sama, kami juga perlu melindungi pelayan proksi terbalik daripada serangan berniat jahat, seperti serangan penafian perkhidmatan, serangan suntikan SQL dan serangan skrip merentas tapak. Oleh itu, apabila menggunakan proksi terbalik Nginx, kita perlu mengikuti amalan terbaik untuk memastikan keselamatan dan kebolehpercayaan aplikasi web.

Atas ialah kandungan terperinci Konfigurasi kawalan akses berasaskan ekspresi biasa dalam proksi terbalik Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk membenarkan akses rangkaian luaran ke pelayan tomcat Bagaimana untuk membenarkan akses rangkaian luaran ke pelayan tomcat Apr 21, 2024 am 07:22 AM

Untuk membenarkan pelayan Tomcat mengakses rangkaian luaran, anda perlu: mengubah suai fail konfigurasi Tomcat untuk membenarkan sambungan luaran. Tambahkan peraturan tembok api untuk membenarkan akses kepada port pelayan Tomcat. Buat rekod DNS yang menunjukkan nama domain ke IP awam pelayan Tomcat. Pilihan: Gunakan proksi terbalik untuk meningkatkan keselamatan dan prestasi. Pilihan: Sediakan HTTPS untuk meningkatkan keselamatan.

Bagaimana untuk mengesahkan alamat e-mel di Golang menggunakan ungkapan biasa? Bagaimana untuk mengesahkan alamat e-mel di Golang menggunakan ungkapan biasa? May 31, 2024 pm 01:04 PM

Untuk mengesahkan alamat e-mel di Golang menggunakan ungkapan biasa, ikut langkah berikut: Gunakan regexp.MustCompile untuk mencipta corak ungkapan biasa yang sepadan dengan format alamat e-mel yang sah. Gunakan fungsi MatchString untuk menyemak sama ada rentetan sepadan dengan corak. Corak ini merangkumi kebanyakan format alamat e-mel yang sah, termasuk: Nama pengguna tempatan boleh mengandungi huruf, nombor dan aksara khas: !.#$%&'*+/=?^_{|}~-`Nama domain mesti mengandungi sekurang-kurangnya Satu huruf, diikuti dengan huruf, nombor atau sempang Domain peringkat teratas (TLD) tidak boleh lebih daripada 63 aksara.

Bagaimana untuk menjana URL daripada fail html Bagaimana untuk menjana URL daripada fail html Apr 21, 2024 pm 12:57 PM

Menukar fail HTML kepada URL memerlukan pelayan web, yang melibatkan langkah berikut: Dapatkan pelayan web. Sediakan pelayan web. Muat naik fail HTML. Buat nama domain. Halakan permintaan.

Bagaimana untuk memadankan cap masa menggunakan ungkapan biasa dalam Go? Bagaimana untuk memadankan cap masa menggunakan ungkapan biasa dalam Go? Jun 02, 2024 am 09:00 AM

Dalam Go, anda boleh menggunakan ungkapan biasa untuk memadankan cap masa: susun rentetan ungkapan biasa, seperti yang digunakan untuk memadankan cap masa ISO8601: ^\d{4}-\d{2}-\d{2}T \d{ 2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ . Gunakan fungsi regexp.MatchString untuk menyemak sama ada rentetan sepadan dengan ungkapan biasa.

Bagaimana untuk menggunakan projek nodejs ke pelayan Bagaimana untuk menggunakan projek nodejs ke pelayan Apr 21, 2024 am 04:40 AM

Langkah-langkah penggunaan pelayan untuk projek Node.js: Sediakan persekitaran penggunaan: dapatkan akses pelayan, pasang Node.js, sediakan repositori Git. Bina aplikasi: Gunakan npm run build untuk menjana kod dan kebergantungan yang boleh digunakan. Muat naik kod ke pelayan: melalui Git atau Protokol Pemindahan Fail. Pasang kebergantungan: SSH ke dalam pelayan dan gunakan pemasangan npm untuk memasang kebergantungan aplikasi. Mulakan aplikasi: Gunakan arahan seperti node index.js untuk memulakan aplikasi, atau gunakan pengurus proses seperti pm2. Konfigurasikan proksi terbalik (pilihan): Gunakan proksi terbalik seperti Nginx atau Apache untuk menghalakan trafik ke aplikasi anda

Bagaimana untuk mengesahkan kata laluan menggunakan ungkapan biasa dalam Go? Bagaimana untuk mengesahkan kata laluan menggunakan ungkapan biasa dalam Go? Jun 02, 2024 pm 07:31 PM

Kaedah menggunakan ungkapan biasa untuk mengesahkan kata laluan dalam Go adalah seperti berikut: Tentukan corak ungkapan biasa yang memenuhi keperluan kata laluan minimum: sekurang-kurangnya 8 aksara, termasuk huruf kecil, huruf besar, nombor dan aksara khas. Susun corak ungkapan biasa menggunakan fungsi MustCompile daripada pakej regexp. Gunakan kaedah MatchString untuk menguji sama ada rentetan input sepadan dengan corak ungkapan biasa.

Bolehkah nodejs diakses dari luar? Bolehkah nodejs diakses dari luar? Apr 21, 2024 am 04:43 AM

Ya, Node.js boleh diakses dari luar. Anda boleh menggunakan kaedah berikut: Gunakan Cloud Functions untuk menggunakan fungsi dan menjadikannya boleh diakses secara umum. Gunakan rangka kerja Express untuk membuat laluan dan menentukan titik akhir. Gunakan Nginx untuk membalikkan permintaan proksi kepada aplikasi Node.js. Gunakan bekas Docker untuk menjalankan aplikasi Node.js dan dedahkannya melalui pemetaan port.

Bagaimana untuk menggunakan dan menyelenggara laman web menggunakan PHP Bagaimana untuk menggunakan dan menyelenggara laman web menggunakan PHP May 03, 2024 am 08:54 AM

Untuk berjaya menggunakan dan menyelenggara tapak web PHP, anda perlu melakukan langkah berikut: Pilih pelayan web (seperti Apache atau Nginx) Pasang PHP Cipta pangkalan data dan sambungkan PHP Muat naik kod ke pelayan Sediakan nama domain dan Pemantauan DNS penyelenggaraan tapak web langkah termasuk mengemas kini PHP dan pelayan web, dan membuat sandaran tapak web, memantau log ralat dan mengemas kini kandungan.

See all articles