403 Forbidden on nginx web server
hello support,
i Create a Self-Signed TLS Certificate
by following this guide
https://www.linode.com/docs/security/ssl/create-a-self-signed-tls-certificate/i enable TLS for HTTPS Connections
by following this guide
https://www.linode.com/docs/web-servers/nginx/enable-tls-on-nginx-for-https-connections/
so, at the end
i have this 403 Forbidden, when open my website,
https://example.comi log the error, on, /var/log/nginx/example.com-ssl-error.log;
2019/11/14 08:43:25 [error] 13930#13930: *1858
directory index of "/home/forge/example.com/public/" is forbidden,
client: 182.1.211.181….Note: i am using laravel framework
on, /etc/nginx/conf.d/example.com.conf
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server ;
server_name example.com www.example.com;
root /home/forge/wahsidin.com/public;
access_log /var/log/nginx/wahsidin.com-ssl-access.log;
error_log /var/log/nginx/wahsidin.com-ssl-error.log;
}What is missing on my configuration ? can anyone help me ?
2 Replies
I don't use nginx but
directory index of "somepath" is forbidden
usually means that your web server is not configured correctly. See:
https://stackoverflow.com/questions/19285355/nginx-403-error-directory-index-of-folder-is-forbidden
-- sw
@pinosin If that's all the content of your nginx configuration, you need a root (/
) location
with a try_files
directive.
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server ;
server_name example.com www.example.com;
root /home/forge/wahsidin.com/public;
access_log /var/log/nginx/wahsidin.com-ssl-access.log;
error_log /var/log/nginx/wahsidin.com-ssl-error.log;
location / {
try_files $uri $uri/ =404;
}
}
https://nginx.org/en/docs/http/ngx_http_index_module.html#index
You might want to use the recommended Nginx configuration for Laravel:
https://laravel.com/docs/6.x/deployment
Also keep in mind that you would need to add index
with a list of possible index files (like index.php
) and FastCGI configuration if you plan to run a PHP web application. See the previous link.
Also make sure that the user specified in your nginx.conf
file has read and execute permissions. You could use setfacl
to set permissions for the user without the need of changing directory owner with chown
.
Example (see man setfacl
for more information):
setfacl -R -m user:{USER}:rx,d:user:{USER}:rx /home/forge/wahsidin.com/public
Just replace {USER}
with the one you've specified in your nginx.conf
file.
Worth reading: