-2

I cannot access to directories inside server's document root. It throw 403 Forbidden error!

here is /etc/nginx/nginx.conf file:

user www-data;
worker_processes auto;
pid /run/nginx.pid;

events {
    worker_connections 768;
    # multi_accept on;
}

http {
#################
# Custom config
################
#disable_symlinks off;


##
# Basic Settings
##

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
server_tokens off;

server_names_hash_bucket_size 64;
# server_name_in_redirect off;

include /etc/nginx/mime.types;
default_type application/octet-stream;

##
# SSL Settings
##

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;

##
# Logging Settings
##

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;

##
# Gzip Settings
##

gzip on;
gzip_disable "msie6";

# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

##
# Virtual Host Configs
##

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}

I cannot access to directories inside server's document root. It throw 403 Forbidden error!

here is /etc/nginx/nginx.conf file:

user www-data; worker_processes auto; pid /run/nginx.pid;

events { worker_connections 768; # multi_accept on; }

http {

#

Custom config

#

disable_symlinks off;

#

Basic Settings

#

sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; server_tokens off;

server_names_hash_bucket_size 64;

server_name_in_redirect off;

include /etc/nginx/mime.types; default_type application/octet-stream;

#

SSL Settings

#

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE ssl_prefer_server_ciphers on;

#

Logging Settings

#

access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log;

#

Gzip Settings

#

gzip on; gzip_disable "msie6";

gzip_vary on;

gzip_proxied any;

gzip_comp_level 6;

gzip_buffers 16 8k;

gzip_http_version 1.1;

gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

#

Virtual Host Configs

#

include /etc/nginx/conf.d/.conf; include /etc/nginx/sites-enabled/; }

/etc/nginx/sites-available/default file:

server {
listen 80 default_server;
listen [::]:80 default_server;

root /var/www/html;

index index.html index.htm index.nginx-debian.html;

server_name _;

location / {
    try_files $uri $uri/ =404;
}

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}

location ~ /\.ht {
    deny all;
}

}

I cannot access to directories inside server's document root. It throw 403 Forbidden error!

here is /etc/nginx/nginx.conf file:

user www-data; worker_processes auto; pid /run/nginx.pid;

events { worker_connections 768; }

http {

sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; server_tokens off;

server_names_hash_bucket_size 64;

include /etc/nginx/mime.types; default_type application/octet-stream;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE ssl_prefer_server_ciphers on;

access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log;

gzip on; gzip_disable "msie6";

gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

include /etc/nginx/conf.d/.conf; include /etc/nginx/sites-enabled/; }

/etc/nginx/sites-available/default file:

server {
listen 80 default_server;
listen [::]:80 default_server;

root /var/www/html;

index index.html index.htm index.nginx-debian.html;

server_name _;

location / {
    try_files $uri $uri/ =404;
}

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}

location ~ /\.ht {
    deny all;
}

}

server root directory map:

/var/www/html/index.php

<?php include 'folder/file.php';

/var/www/html/folder/file.php

<?php echo 'file included';

if I request http://localhost/index.php it respond me 'file included' but if I request directly for http://localhost/folder/file.php it says me 403 Forbidden!

  • Hi Amin. Please make a bit more effort to edit your post so it's readable - there's help about how to do that. You should include a curl for a resource, and the access / error log entries that correspond to that curl, as it will help people diagnose your problem. Right now you've made it quite difficult to help you - make it easy for people to help you and you'll get more and faster help. – Tim May 27 '18 at 19:02
  • Sorry,I've just pasted the server config here and it's looking horrible here. I've posted the same problem in StackOverflow but the look is ok. I'll get back here after studying about Server fault documentation. Thanks. – Amin May 28 '18 at 16:49
0

You need to fix your file permissions so that the user nginx is running as can read the files from the filesystem.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.