Rumah >Operasi dan penyelenggaraan >Nginx >Konfigurasi ACL berdasarkan cap jari peranti dan penyemak imbas dalam proksi terbalik Nginx

Konfigurasi ACL berdasarkan cap jari peranti dan penyemak imbas dalam proksi terbalik Nginx

PHPz
PHPzasal
2023-06-10 13:13:401200semak imbas

Dengan populariti Internet mudah alih dan peranti berbilang terminal, kaedah akses tapak web dan jenis peranti menjadi semakin pelbagai. Untuk memastikan kestabilan dan keselamatan tapak web, pelayan tapak web perlu melakukan proksi terbalik dan juga perlu menyekat peranti dan jenis penyemak imbas yang berbeza Ini memerlukan penggunaan konfigurasi ACL berdasarkan cap jari peranti dan penyemak imbas dalam proksi terbalik Nginx .

Apakah proksi terbalik Nginx?

Proksi terbalik Nginx ialah kaedah proksi di mana pelayan bertindak sebagai pelanggan untuk mengakses sumber pelayan lain. Secara ringkasnya, pelayan proksi ditambah antara klien dan pelayan Pelanggan meminta sumber daripada pelayan proksi, dan pelayan proksi meminta sumber daripada pelayan sebenar, dan kemudian mengembalikan hasil permintaan kepada klien. Kaedah ini berkesan boleh mengurangkan tekanan pada pelayan dan meningkatkan prestasi dan kebolehpercayaan laman web.

Konfigurasi ACL dalam proksi terbalik Nginx

ACL (Senarai Kawalan Akses, Senarai Kawalan Akses) ialah fungsi dalam proksi terbalik Nginx yang digunakan untuk menentukan alamat IP yang diminta oleh pelanggan kaedah, URL dan syarat lain untuk ditapis dan dihadkan. Dalam ACL, kami juga boleh menyekat berdasarkan jenis peranti dan jenis penyemak imbas.

Disebabkan kaedah pemaparan yang berbeza dan spesifikasi peranti dan jenis penyemak imbas yang berbeza, kami boleh membuat respons yang berbeza berdasarkan ciri ini, seperti menyediakan struktur halaman, gaya atau sumber yang berbeza. Pada masa yang sama, anda juga boleh menyekat permintaan daripada peranti atau penyemak imbas tertentu melalui konfigurasi ACL untuk meningkatkan keselamatan dan kestabilan tapak web.

Konfigurasi ACL berdasarkan cap jari peranti dan penyemak imbas

Terdapat banyak jenis peranti dan penyemak imbas sekarang yang jelas tidak realistik untuk mengkonfigurasinya secara manual satu demi satu. Tetapi mujurlah, proksi terbalik Nginx menyediakan deviceatlas modul pihak ketiga, yang melaluinya kami boleh mengenal pasti peranti dan jenis penyemak imbas secara automatik.

Pasang modul deviceatlas

Ambil CentOS sebagai contoh, mula-mula pasang kebergantungan yang diperlukan:

sudo yum install gcc-c++ pcre-devel zlib-devel

Kemudian muat turun modul deviceatlas, nyahzip dan pasangnya:

sudo wget -O ~/deviceatlas.tar.gz https://github.com/devicedetection/device-nginx/archive/master.tar.gz
sudo tar zxvf ~/deviceatlas.tar.gz -C ~/
cd ~/device-nginx-master
sudo ./configure --add-module=$PWD
sudo make && sudo make install

Selepas langkah di atas, kita boleh menggunakan modul deviceatlas dalam Nginx.

Konfigurasikan proksi terbalik Nginx

Dalam fail konfigurasi Nginx, tambahkan konfigurasi berikut:

http {

deviceatlas /usr/share/devicedata/51Degrees.dat;

map $device_is_mobile $acl {
    ""               block_ua;
    "true"           allow;
    "false"          block_ua;
}

map $device_brand_name $brand_map {
     "~Huawei"       "huawei.com";
     "~Samsung"      "samsung.com";
     "~Apple"        "apple.com";
     default         "default.com"
}

server {
    listen       80;
    server_name  server.com;

    location / {
        if ($acl = "allow") {
            proxy_pass http://backend;
        }
        if ($acl = "block_ua") {
            return 403;
        }
    }

    location /brand {
        proxy_pass http://$brand_map;
    }
}

}

Parse Konfigurasi di atas:

Mula-mula gunakan modul deviceatlas untuk memuatkan fail maklumat peranti

Gunakan arahan peta untuk mengelaskan peranti kepada "mudah alih" dan "bukan mudah alih". dianggap bukan mudah alih Selepas peranti diklasifikasikan, kami boleh membuat respons yang berbeza mengikut jenis peranti yang berbeza dengan mudah

Gunakan arahan peta lain untuk memetakan nama jenama peranti kepada nama domain pelayan belakang yang sepadan; 🎜>

Pada pelayan proksi terbalik Nginx, gunakan arahan lokasi untuk memadankan URL permintaan Jika permintaan semasa datang daripada peranti mudah alih, permintaan proksi dibenarkan jika permintaan semasa datang daripada peranti yang tidak diketahui atau bukan -peranti mudah alih, permintaan proksi tidak dibenarkan

Apabila meminta URL yang ditentukan, jika permintaan itu datang daripada peranti mudah alih dan jenamanya ialah Huawei, Samsung atau Apple, permintaan itu akan diproksikan kepada yang sepadan pelayan; sebaliknya, jika permintaan datang daripada peranti yang tidak diketahui atau peranti bukan mudah alih atau jenama tidak sepadan dengan mana-mana item , permintaan akan diproksikan ke pelayan lalai.

Ringkasan

Konfigurasi ACL berdasarkan cap jari peranti dan penyemak imbas boleh membantu penapis pelayan proksi terbalik Nginx dan bertindak balas kepada peranti akses yang pelbagai dan kaedah akses yang pelbagai. Pelayan proksi terbalik Nginx secara automatik boleh mengenal pasti jenama peranti, model dan jenis penyemak imbas dengan menggunakan modul deviceatlas, dan membuat konfigurasi ACL yang sepadan berdasarkan keadaan tertentu, dengan itu meningkatkan prestasi, keselamatan dan kestabilan tapak web.

Atas ialah kandungan terperinci Konfigurasi ACL berdasarkan cap jari peranti dan penyemak imbas 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