Memahami Nginx
EGPHP memakai Nginx (dibaca "engine-x") sebagai server webnya. Nginx dikenal karena kinerjanya yang tinggi, stabil, dan hemat sumber daya. Berbeda dengan Apache, Nginx tidak memakai berkas .htaccess.
Tanpa .htaccess: Nginx tidak mendukung berkas .htaccess. Fungsi serupa dicapai lewat berkas konfigurasi Nginx.
Membuka Pengaturan Nginx
- Masuk ke EGPNL
- Buka Domain
- Klik domain Anda
- Pilih Konfigurasi Nginx atau Pengaturan Lanjutan
Konfigurasi Nginx yang Umum
Mengalihkan HTTP ke HTTPS
Paksa semua trafik memakai HTTPS:
if ($scheme != "https") {
return 301 https://$host$request_uri;
}
Mengalihkan www ke tanpa-www
if ($host ~* ^www\.(.*)) {
return 301 https://$1$request_uri;
}
Mengalihkan tanpa-www ke www
if ($host !~* ^www\.) {
return 301 https://www.$host$request_uri;
}
Permalink Rapi WordPress
Diperlukan untuk alamat WordPress yang ramah SEO:
location / {
try_files $uri $uri/ /index.php?$args;
}
Pengguna WordPress: EGPNL mengatur permalink WordPress secara otomatis saat Anda menambahkan situs WordPress. Tak perlu konfigurasi manual!
Header Keamanan
Tambahkan header keamanan untuk melindungi situs Anda:
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
Konfigurasi Cache
Aktifkan cache peramban untuk berkas statis:
location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff2|woff|ttf)$ {
expires 30d;
add_header Cache-Control "public, immutable";
}
Kompresi Gzip
Aktifkan kompresi gzip agar halaman lebih cepat dimuat (biasanya sudah aktif secara bawaan):
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml;
gzip_min_length 1000;
Halaman Kesalahan Khusus
Tetapkan halaman kesalahan 404 dan 500 sendiri:
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
Memblokir Akses
Memblokir IP tertentu
deny 123.45.67.89;
deny 98.76.54.0/24;
Memblokir berkas tertentu
location ~ /\.(htaccess|htpasswd|git|svn) {
deny all;
}
Melindungi direktori dengan kata sandi
location /admin {
auth_basic "Restricted";
auth_basic_user_file /path/to/.htpasswd;
}
Penulisan Ulang URL
Tulis ulang alamat tanpa mengalihkan:
# Rewrite old URL to new URL internally
rewrite ^/old-page$ /new-page last;
# Redirect old URL to new URL (301)
rewrite ^/old-url$ /new-url permanent;
Konfigurasi PHP
Sesuaikan pengaturan PHP untuk domain Anda:
location ~ \.php$ {
fastcgi_param PHP_VALUE "
upload_max_filesize=64M
post_max_size=64M
max_execution_time=300
";
}
Hati-hati: konfigurasi Nginx yang keliru bisa membuat situs Anda tak dapat diakses. Selalu cadangkan konfigurasi Anda sebelum mengubahnya.
Menguji Konfigurasi
Setelah melakukan perubahan:
- EGPNL akan memvalidasi konfigurasi Anda secara otomatis
- Bila ada kesalahan, Anda melihat pesan peringatan
- Perbaiki kesalahannya sebelum menyimpan
- Nginx dimuat ulang otomatis setelah penyimpanan berhasil
Apakah artikel ini membantu?