Rumah >Operasi dan penyelenggaraan >Nginx >Bagaimana untuk mengkonfigurasi Nginx untuk melindungi keselamatan laman web WordPress/PHP

Bagaimana untuk mengkonfigurasi Nginx untuk melindungi keselamatan laman web WordPress/PHP

王林
王林asal
2023-06-11 10:30:121722semak imbas

Nginx ialah pelayan web yang popular Ia bukan sahaja mempunyai ciri-ciri prestasi tinggi, penggunaan rendah, dan konkurensi yang kuat, tetapi juga menyokong konfigurasi proksi terbalik, pengimbangan beban, HTTPS dan banyak fungsi lain. Untuk laman web WordPress/PHP, cara menggunakan konfigurasi Nginx untuk perlindungan keselamatan adalah sangat penting. Artikel ini akan memperkenalkan beberapa kaedah konfigurasi Nginx untuk memastikan keselamatan laman web WordPress/PHP.

  1. Konfigurasikan proksi terbalik

Proksi terbalik bermaksud memajukan permintaan klien ke pelayan dalaman dan pelayan dalaman mengembalikan respons kepada klien. Melalui proksi terbalik, alamat IP sebenar pelayan dalaman boleh disembunyikan, dengan itu mencapai tujuan untuk melindungi pelayan. Dalam Nginx, anda boleh menggunakan arahan proxy_pass untuk mengkonfigurasi proksi terbalik, seperti yang ditunjukkan di bawah:

rreee

Dalam konfigurasi di atas, alamat pelayan proksi terbalik ialah http://127.0.0.1:8080, dan $host mewakili klien Nama domain yang diminta, $remote_addr mewakili alamat IP sebenar klien.

  1. Mengkonfigurasi akses IP terhad

Mengkonfigurasi akses IP terhad boleh mengawal akses kepada IP atau segmen IP tertentu untuk melindungi pelayan daripada akses haram. Dalam Nginx, anda boleh menggunakan arahan membenarkan dan menolak untuk mengkonfigurasi kawalan capaian IP, seperti yang ditunjukkan di bawah:

server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Konfigurasi di atas akan menafikan permintaan akses dengan alamat IP 192.168.1.1 dan membenarkan permintaan akses daripada alamat IP lain . Anda boleh menggunakan koma untuk memisahkan berbilang alamat IP atau segmen IP.

  1. Mengkonfigurasi HTTPS

Mengkonfigurasi HTTPS boleh menyulitkan data yang dihantar, dengan itu melindungi data daripada dicuri atau diganggu semasa penghantaran. Dalam Nginx, anda boleh menggunakan arahan ssl_certificate dan ssl_certificate_key untuk mengkonfigurasi HTTPS, seperti yang ditunjukkan di bawah:

location / {
    deny 192.168.1.1;
    allow all;
}

Dalam konfigurasi di atas, /path/to/yourdomain.crt dan /path/to/yourdomain.key ialah Sijil SSL dan Laluan ke kunci peribadi.

  1. Mengkonfigurasi anti-pautan panas

Mengkonfigurasi anti-pautan panas boleh menghalang tapak web lain daripada memaparkan imej atau sumber tapak ini melalui pautan langsung, sekali gus melindungi sumber daripada penggunaan haram. Dalam Nginx, anda boleh menggunakan arahan valid_referers untuk mengkonfigurasi anti-hotlinking, seperti yang ditunjukkan di bawah:

server {
    listen 443 ssl;
    server_name yourdomain.com;

    ssl_certificate /path/to/yourdomain.crt;
    ssl_certificate_key /path/to/yourdomain.key;

    location / {
        ...
    }
}

Dalam konfigurasi di atas, /images/ ialah laluan sumber untuk dilindungi, valid_referers digunakan untuk menentukan sumber yang sah nama domain, dan tiada bermaksud untuk tidak menggunakannya Sekatan nama domain, disekat bermakna menafikan semua sumber haram, yourdomain.com bermaksud membenarkan akses daripada sumber nama domain ini. Jika asal yang diminta tiada dalam senarai asal yang sah, ralat 403 akan dikembalikan.

  1. Mengkonfigurasi cache

Mengkonfigurasi cache boleh mengurangkan beban pada pelayan, meningkatkan kelajuan akses tapak web dan mengekalkan kebolehcapaian tapak web apabila pelayan sedang turun. Dalam Nginx, anda boleh menggunakan arahan proxy_cache_path untuk mengkonfigurasi cache, seperti yang ditunjukkan di bawah:

location /images/ {
    valid_referers none blocked yourdomain.com;
    if ($invalid_referer) {
        return 403;
    }
}

Dalam konfigurasi di atas, /var/cache/nginx ialah laluan cache, dan level=1:2 menunjukkan hierarki tahap laluan cache keys_zone=my_cache:10m bermaksud menggunakan my_cache sebagai ruang simpanan cache, saiznya ialah 10M, tidak aktif=60m bermakna cache akan dikosongkan selepas 60 minit. Arahan proxy_cache digunakan untuk mendayakan cache, dan arahan proxy_cache_valid digunakan untuk menetapkan masa cache.

Ringkasan

Melalui lima kaedah konfigurasi Nginx di atas, anda boleh melindungi keselamatan tapak web WordPress/PHP dengan berkesan. Proksi terbalik boleh menyembunyikan alamat IP sebenar pelayan, menyekat capaian IP untuk mengawal capaian kepada pelayan, HTTPS boleh menyulitkan penghantaran data, anti-leeching boleh melindungi sumber daripada penggunaan haram, dan caching boleh meningkatkan kelajuan akses dan kebolehcapaian laman web. . Sudah tentu, kaedah konfigurasi ini tidak dapat menjamin sepenuhnya keselamatan tapak web Anda juga perlu memberi perhatian kepada isu keselamatan lain, seperti perlindungan kata laluan, kebenaran fail, dsb.

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi Nginx untuk melindungi keselamatan laman web WordPress/PHP. 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