Rumah > Artikel > Operasi dan penyelenggaraan > Penggunaan selamat dan penyelenggaraan Nginx dalam persekitaran awan
Dengan pembangunan pengkomputeran awan, semakin banyak aplikasi dan perkhidmatan digunakan dalam persekitaran awan. Sebagai pelayan web berprestasi tinggi dan pelayan proksi terbalik, Nginx menjadi semakin popular dalam persekitaran awan. Artikel ini akan memperkenalkan penggunaan selamat dan penyelenggaraan Nginx dalam persekitaran awan.
1. Konfigurasi keselamatan Nginx
Dalam persekitaran awan, pelayan menghadapi permukaan serangan yang lebih luas, jadi konfigurasi keselamatan amat penting. Berikut ialah beberapa konfigurasi keselamatan Nginx biasa.
1. Cegah serangan DDoS
Serangan DDoS ialah serangan rangkaian biasa dan boleh dihalang menggunakan modul limit_conn dan limit_req Nginx. Antaranya, limit_conn boleh mengawal bilangan sambungan, dan limit_req boleh mengawal kadar permintaan. Konfigurasi kedua-dua modul ini adalah seperti berikut:
http { limit_conn_zone $binary_remote_addr zone=addr:10m; limit_conn addr 10; # 对每个IP地址限制10个连接数 limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; limit_req zone=one burst=5 nodelay; # 每秒只允许处理1个请求,最多允许5个请求在等待队列中等待 }
2 Lumpuhkan kaedah HTTP yang tidak selamat
Sesetengah kaedah permintaan HTTP kurang selamat, seperti DELETE, TRACE, CONNECT, dsb. Anda boleh menggunakan arahan limit_except Nginx untuk mengehadkan penggunaan kaedah HTTP yang tidak selamat, seperti yang ditunjukkan di bawah:
location / { limit_except GET POST { deny all; } }
3 Melarang kebocoran maklumat pelayan
Penyerang boleh mengesan kelemahan dan kelemahan pelayan dengan mendapatkan maklumat pelayan. , jadi melarang kebocoran maklumat pelayan juga merupakan konfigurasi keselamatan yang penting. Anda boleh menggunakan arahan server_tokens Nginx untuk mengawal sama ada untuk memaparkan maklumat pelayan dalam pengepala respons HTTP, seperti yang ditunjukkan di bawah:
http { server_tokens off; # 禁止在HTTP响应头中显示服务器信息 }
2. Pengoptimuman prestasi Nginx
Aplikasi web dalam persekitaran awan biasanya perlu diproses sejumlah besar permintaan Serentak, jadi pengoptimuman prestasi juga merupakan tugas penting. Berikut ialah beberapa kaedah pengoptimuman prestasi Nginx biasa.
1. Hidupkan cache
Untuk beberapa sumber statik, seperti imej, CSS, JS, dll., anda boleh menggunakan cache Nginx untuk meningkatkan kelajuan akses. Anda boleh menetapkan laluan cache dan saiz cache melalui arahan proxy_cache_path Nginx, seperti yang ditunjukkan di bawah:
http { proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m; server { location /assets/ { proxy_cache my_cache; proxy_pass http://backend/; } } }
2 Gunakan pemampatan Gzip
Mampatan Gzip boleh mengurangkan jumlah data yang dihantar melalui rangkaian dan menambah baik. kelajuan akses laman web. Anda boleh menggunakan perintah gzip Nginx untuk mendayakan pemampatan Gzip, seperti yang ditunjukkan di bawah:
http { gzip on; gzip_comp_level 6; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; }
3 Konfigurasikan algoritma penjadualan
Apabila Nginx digunakan sebagai pengimbang beban, mengkonfigurasi algoritma penjadualan juga penting. Tugasan. Nginx menyediakan pelbagai algoritma penjadualan, seperti Round Robin, Least Connections, IP Hash, dll. Anda boleh menggunakan blok hulu Nginx untuk mengkonfigurasi algoritma penjadualan, seperti yang ditunjukkan di bawah:
http { upstream backend { server backend1; server backend2; # 使用IP Hash调度算法 ip_hash; } }
3. Pengurusan log Nginx
Dalam persekitaran awan, pengurusan log juga sangat penting. Nginx menyediakan pelbagai pilihan log, termasuk access_log, error_log, dll. Anda boleh menggunakan pilihan pengelogan ini untuk merekodkan akses pelayan, mesej ralat dan banyak lagi. Berikut ialah beberapa pilihan pembalakan yang biasa digunakan.
1.access_log
access_log ialah pilihan log yang merekodkan status akses setiap permintaan. Anda boleh menggunakan arahan access_log Nginx untuk mendayakan pengelogan akses, seperti yang ditunjukkan di bawah:
http { access_log /var/log/nginx/access.log; }
2.error_log
error_log ialah pilihan log untuk merekod maklumat ralat. Anda boleh menggunakan perintah error_log Nginx untuk mendayakan pengelogan ralat, seperti yang ditunjukkan di bawah:
http { error_log /var/log/nginx/error.log; }
3 Pemotongan log
Apabila fail log terlalu besar, anda boleh menggunakan fungsi pemotongan log Nginx untuk membahagikan. log. Anda boleh menggunakan alat logrotate untuk memotong fail log dengan kerap, seperti yang ditunjukkan di bawah:
/var/log/nginx/*.log { daily missingok rotate 52 compress delaycompress notifempty create 0640 nginx root sharedscripts postrotate /usr/sbin/nginx -s reopen endscript }
Di atas ialah pengenalan kepada kaedah penggunaan dan penyelenggaraan Nginx yang selamat dalam persekitaran awan. Sudah tentu, terdapat banyak konfigurasi keselamatan lain, pengoptimuman prestasi dan kaedah pengurusan log, yang perlu dikonfigurasikan dan dioptimumkan mengikut situasi sebenar. Semoga artikel ini dapat memberi manfaat kepada semua.
Atas ialah kandungan terperinci Penggunaan selamat dan penyelenggaraan Nginx dalam persekitaran awan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!