Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Konfigurasi kawalan akses berasaskan senarai putih dalam proksi terbalik Nginx

Konfigurasi kawalan akses berasaskan senarai putih dalam proksi terbalik Nginx

WBOY
WBOYasal
2023-06-10 08:28:442093semak imbas

Nginx ialah pelayan HTTP berprestasi tinggi dan pelayan proksi terbalik dengan kelebihan kestabilan dan kebolehskalaan. Untuk melindungi pelayan web daripada pengguna berniat jahat dan program berniat jahat, banyak perniagaan dan organisasi melaksanakan langkah kawalan akses. Artikel ini akan memperkenalkan cara mengawal akses proksi terbalik melalui senarai putih dalam Nginx.

1. Apakah proksi terbalik?

Proksi songsang merujuk kepada kaedah konfigurasi pelayan web yang menyembunyikan pelayan web di belakang sekumpulan pelayan proksi. Alamat pelayan proksi terbalik kelihatan kepada klien Pelayan proksi terbalik bertanggungjawab untuk memajukan permintaan klien ke pelayan Web sebenar dan mengembalikan respons pelayan Web kepada klien. Proksi terbalik boleh meningkatkan daya pemprosesan pelayan web anda dan menghalang serangan.

2. Mengapakah kawalan akses diperlukan?

Pelayan web biasanya menghadapi akses dari seluruh dunia, dan beberapa permintaan mungkin datang daripada pengguna berniat jahat atau program berniat jahat. Permintaan berniat jahat ini boleh membawa kepada isu keselamatan seperti lumpuh pelayan web, kebocoran data, gangguan dan kecurian maklumat sensitif. Untuk mengelakkan masalah ini, biasanya perlu untuk melaksanakan mekanisme kawalan capaian untuk menyekat hanya alamat IP tertentu, nama domain atau pengguna daripada mengakses pelayan web.

3. Bagaimanakah Nginx melaksanakan kawalan akses berdasarkan senarai putih?

  1. Tentukan alamat IP yang dibenarkan untuk mengakses

Dalam fail konfigurasi nginx.conf, anda boleh menggunakan arahan membenarkan untuk menentukan alamat IP yang dibenarkan untuk akses, sebagai contoh:

http {
    #定义白名单
    geo $whitelist {
        default 0;
        10.0.0.0/8 1;
        192.168.0.0/16 1;
    }

    server {
        listen 80;
        server_name example.com;
        location / {
            #指定允许访问的IP地址
            allow $whitelist;
            #禁止其他IP地址的访问
            deny all;
            #...
        }
    }
}

Dalam fail konfigurasi di atas, gunakan arahan geo untuk mentakrifkan senarai putih. Antaranya, $whitelist ialah pembolehubah yang menunjukkan alamat IP yang dibenarkan untuk diakses. Secara lalai, nilai $whitelist ialah 0, menunjukkan bahawa akses tidak dibenarkan. Jika alamat IP yang diakses berada dalam segmen rangkaian 10.0.0.0/8 atau 192.168.0.0/16, nilai $whitelist ialah 1 dan akses dibenarkan. Di lokasi, gunakan arahan membenarkan untuk menentukan bahawa akses kepada alamat IP dalam pembolehubah $whitelist dibenarkan dan gunakan arahan penafian untuk melarang akses kepada alamat IP lain.

  1. Tentukan nama domain yang dibenarkan untuk diakses

Dalam fail konfigurasi nginx.conf, anda boleh menggunakan arahan nama_server untuk menentukan nama domain yang dibenarkan untuk diakses, contohnya:

http {
    #定义白名单
    server {
        listen       80;
        server_name  example.com;

        #允许访问的域名
        if ($host !~* ^(example.com)$ ) {
            return 403;
        }
        
        location / {
            #...
        }
    }
}

Dalam fail konfigurasi di atas, gunakan arahan nama_server untuk menyatakan bahawa hanya akses kepada nama domain example.com dibenarkan. Di lokasi, jika nama domain yang diminta bukan example.com, ralat 403 akan dikembalikan secara langsung.

  1. Tentukan pengguna yang dibenarkan untuk mengakses

Dalam fail konfigurasi nginx, anda boleh menggunakan Pengesahan Asas HTTP atau mekanisme pengesahan lain untuk mengehadkan hanya pengguna yang disahkan untuk mengakses pelayan web. Contohnya, menggunakan Pengesahan Asas HTTP, nama pengguna dan kata laluan boleh disulitkan dan diletakkan dalam pengepala HTTP Nginx mengesahkan permintaan, dan hanya pengguna yang disahkan boleh mengakses pelayan Nginx. Dalam fail konfigurasi nginx.conf, anda boleh menggunakan arahan auth_basic dan auth_basic_user_file untuk melaksanakan Pengesahan Asas HTTP, contohnya:

http {
    #定义白名单
    server {
        listen       80;
        server_name  example.com;

        #Nginx对请求进行认证
        auth_basic           "Restricted Area";
        auth_basic_user_file conf.d/.htpasswd;
        
        location / {
            #...
        }
    }
}

Dalam fail konfigurasi di atas, nyatakan arahan auth_basic dalam pelayan untuk menerangkan maklumat kawasan yang memerlukan pengesahan. Gunakan arahan auth_basic_user_file untuk menentukan laluan ke fail kata laluan. Hanya pengguna yang disahkan boleh mengakses pelayan web.

4. Ringkasan

Proksi terbalik boleh meningkatkan daya pemprosesan pelayan web dan menghalang serangan Mekanisme kawalan akses boleh melindungi pelayan web daripada serangan daripada pengguna berniat jahat dan program jahat. Dalam Nginx, kawalan akses berasaskan senarai putih boleh digunakan untuk mengawal akses proksi terbalik dan melindungi keselamatan pelayan web. Seperti yang diperlukan, anda boleh menentukan alamat IP, nama domain atau pengguna yang dibenarkan untuk mengakses untuk meningkatkan keselamatan proksi terbalik.

Atas ialah kandungan terperinci Konfigurasi kawalan akses berasaskan senarai putih 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