403 Forbidden NGINX - NimeTech.com

Aug 12, 2019 Linux

Cara Mengatasi “403 forbidden nginx”

Pengantar

Web Server merupakan salah satu dari sekian banyak service yang ada di dalam sebuah VPS atau Server. Salah satu aplikasi web server adalah NGINX, yang mana NGINX merupakan web server yang populer saat ini. NGINX digunakan sebagai web server karena ringan dan handal, tapi pernah kalian menemui saat menggunakan NGINX tiba-tiba muncul pesan error “403 forbidden nginx”. Pesan error ini mengindikasikan ada miss konfigurasi pada NGINX, yang mana NGINX tidak bisa membaca folder root document websitenya. Lalu bagaimana langkah cara mengatasi error “403 forbidden nginx

Cara Mengatasi Error “403 forbidden nginx”

Untuk mengatasi error ini kalian ada beberapa hal yang harus kalian lakukan, diantaranya :

  1. Cek error log nginx

Pertama, untuk mengidentifikasi permasalahan errornya kalian harus membaca pesan error dari lognya terlebih dahulu. Kenapa harus membaca log? The Beginning Troubleshoot from Error Log, bro, jadi kalau ingin mengatasi permasalahannya kalian harus tahu penyebab errornya. Dan nanti di log tersebut kalian akan terbantu apa sih penyebabnya dan langkah yang harus kalian lakukan selanjutnya.
Untuk melihat error log nginx kalian bisa menggunakan command berikut ini :

cat /var/log/nginx/error.log

atau

tailf -n 1000 /var/log/nginx/error.log

nanti biasanya di baris paling akhir akan muncul pesan error seperti ini kurang lebih :

2019/07/27 13:27:41 [crit] 4202#0: *1 connect() to unix:/var/run/php7.2-fpm.sock failed (13: Permission denied) while connecting to upstream, client: xx.xxx.xx.xx, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php7.2-fpm.sock:", host: "xx.xx.xx.xx"

Dari error diatas yang muncul di sini mendapatkan clue bahwa errornya terkait unix:/var/run/php7.2-fpm.sock failed (13: Permission denied) yang mana socket dari PHP-FPM tidak bisa mendapatkan hak akses. Hak akses pada apakah ini? kalau seperti biasanya terkait dengan hak akses membaca root document, bisa saja karena user yang diperbolehkan membaca root document tersebut yaitu user nginx, nobody, atau www-data

  1. Fix error

Nah, karena sudah tahu penyebabnya dan kenapa kok bisa error selanjutnya kita coba untuk memperbaiki saja. Untuk memperbaikinya kalian cukup edit file konfigurasi php-fpm yang ada di /etc/php-fpm.d dengan command berikut ini :

vim /etc/php-fpm.d/www.conf

cari baris konfigurasi

listen.owner = nobody
listen.group = nobody

lalu coba ubah konfigurasi tersebut seperti berikut ini :

listen.owner = nginx
listen.group = nginx

Dan setelah itu coba ubah juga folder permission dari root documentnya, misal root documentnya ada di /var/www/html dengan command berikut ini :

chown -R nginx:nginx /var/www/html

Dan terakhir coba cek konfigurasinya dengan command :

php-fpm -t

Jika sudah tidak ada error di konfigurasi php-fpmnya kalian bisa restart service nginx dan php-fpmnya dengan command :

systemctl restart nginx
systemctl restart php-fpm

Kemudian coba akses kembali url dari website kalian atau akses IP Web server kalian.

Kesimpulan

Setiap error yang muncul di VPS atau Server pasti terdapat problem solvednya seperti halnya error 403 forbidden nginx ini. Yang mana error ini merupakan error dari socket PHP-FPM yang tidak mempunyai hak akses ke root document websitenya. Dan untuk mengatasinyapun cukup mudah. Oh iya, jika kalian mencari referensi untuk mengatasi error kalian bisa cari di Stack Overflow ataupun StackExchange

Apabila kalian menemukan sebuah error tapi tidak tahu cara mengatasinya, kami NimeTech.com dapat memberikan layanan Jasa Manage VPS atau Jasa Setting VPS