403 Forbidden Nginx Debian 9

403 Forbidden Nginx Debian 9

What is 403 Forbidden Error?

403 Forbidden error is an HTTP status code that means that accessing the page or resource you were trying to reach is absolutely forbidden for some reason. In other words, the server forbid you from accessing it. This article guides you through understanding and fixing this error in a Debian 9 operating system.

Classification of 403 Forbidden Error

It is generally classified under type of 4xx Client Error, which means that the client is to be blamed for this. It is one of the most widely known status codes and generally appears in the header of the web page while inquiring the server. An outlook example of this page looks like this:

HTTP Error 403 - Forbidden. You don't have permission to access 'URL' on this server.

The reason this error code occurs is discussed next.

Why 403 Forbidden Error Occurs?

Source of this error can be varied, from a webpage simply not existing at all to the page being inhabited by a program or script that grants access to the page only to approved web users. In the context of Nginx server on Debian 9, 403 Forbidden error is generally caused by a directory listing request or access to back-end files. The reason can also be due to the permissions mismatch errors, i.e., the page showing error is not given permission to access.

How to Fix 403 Forbidden Error in Nginx on Debian 9

The foremost reason for Nginx to show a 403 Forbidden error is the missing read permissions on files and root directories. This can be resolved using the following steps.

Step 1 – Start by checking if the user identity is correct. To do so, you can open the nginx configuration file located at /etc/nginx/nginx.conf and check the first line.

If the user isn’t same as the one who is accessing the files or directories, correct it or if there isn’t a user specified in the file, assign it to one.

Step 2 – After specifying the user, we move on to ensuring correct access permissions are granted for the files and folders.

Examine each of the permissions and consider if adjustment is required in chmod operations. We can change the file and folder permisisons using the chmod command. The syntax for chmod is:

chmod [mode] [file]

The mode can be set using the numbers, u (user), g (group), and o (others). For example, if the access permissions for a file called test.txt need to be set to read and write for the user, the command to run would be:

chmod u+rw test.txt

How to Diagnose 403 Forbidden Error in Nginx on Debian 9?

To diagnose this error, the log file of Nginx server in the directory /var/log/nginx can be helpful. The paths added to the directories listed in error log file can be examined to find the source of error. It is advised to check and see if the user identity defined in nginx configuration file matches with certain files listed in the open directories.

Understanding Error Logs in Nginx on Debian 9

If the error is still persisting despite following the steps, it is now time to look into the error logs to understand exactly what is causing the error. The log file can be found in the /var/log/nginx directory, or in the virtual host configuration of Nginx.

Error logs usually include a line that starts with the timestamp or date and then a description on what caused the issue.


1. What is the cause of 403 Forbidden error?

The cause of 403 Forbidden error is generally the mismatch in permissions or absence of root directory/file.

2. Is there any easy way of understanding the Nginx error logs?

Yes, it starts with the timestamp and then a description of what caused the issue on the same line.

3. How to fix the 403 Forbidden error on a Debian 9 system?

In order to fix this error, check and correct the user identity in the first line of the nginx.conf file located at /etc/nginx/nginx.conf. Then, use the chmod command to grant permission to the files and directories.


403 Forbidden errors can be quite annoying but can be resolved quite easily. The methods provided in this article should be helpful for fixing the 403 Forbidden error for nginx on Debian 9. Thank you for reading this article and we hope it was helpful. Please read other articles on our website to stay updated with the latest server configurations.

Leave a Reply

Your email address will not be published. Required fields are marked *