Question

Laravel 7 reverse proxy access denied Nginx

I have seeting NGINX for Laravel 7 Apps, but i got erro for acces denid. how should i do?

2020/10/02 09:38:31 [crit] 54509#54509: *14 stat() "/var/www/html/laravel/wadrobe/public/favicon.ico" failed (13: Permission denied), client: 172.69.135.130, server: laksmi.sembara.site, request: "GET /favicon.ico HTTP/1.1", host: "laksmi.sembara.site", referrer: "http://laksmi.sembara.site/"
2020/10/02 09:38:31 [crit] 54509#54509: *14 stat() "/var/www/html/laravel/wadrobe/public/favicon.ico" failed (13: Permission denied), client: 172.69.135.130, server: laksmi.sembara.site, request: "GET /favicon.ico HTTP/1.1", host: "laksmi.sembara.site", referrer: "http://laksmi.sembara.site/"
2020/10/02 09:38:31 [crit] 54509#54509: *14 stat() "/var/www/html/laravel/wadrobe/public/index.php" failed (13: Permission denied), client: 172.69.135.130, server: laksmi.sembara.site, request: "GET /favicon.ico HTTP/1.1", host: "laksmi.sembara.site", referrer: "http://laksmi.sembara.site/"
2020/10/02 09:38:31 [crit] 54509#54509: *14 stat() "/var/www/html/laravel/wadrobe/public/index.php" failed (13: Permission denied), client: 172.69.135.130, server: laksmi.sembara.site, request: "GET /favicon.ico HTTP/1.1", host: "laksmi.sembara.site", referrer: "http://laksmi.sembara.site/"

My nginx setting

##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# https://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# In most cases, administrators will remove this file from sites-enabled/ and
# leave it as reference inside of sites-available where it will continue to be
# updated by the nginx packaging team.
#
# This file will automatically load configuration files provided by other
# applications, such as Drupal or Wordpress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

# Default server configuration
#
server {
	listen 80;
	listen [::]:80;

	# SSL configuration
	#
	# listen 443 ssl default_server;
	# listen [::]:443 ssl default_server;
	#
	# Note: You should disable gzip for SSL traffic.
	# See: https://bugs.debian.org/773332
	#
	# Read up on ssl_ciphers to ensure a secure configuration.
	# See: https://bugs.debian.org/765782
	#
	# Self signed certs generated by the ssl-cert package
	# Don't use them in a production server!
	#
	# include snippets/snakeoil.conf;

	root /var/www/html/laravel/wadrobe/public;

	# Add index.php to the list if you are using PHP
	index index.html index.htm index.nginx-debian.html;

	server_name laksmi.sembara.site www.laksmi.sembara.site;

	location / {
		# First attempt to serve request as file, then
		# as directory, then fall back to displaying a 404.
		try_files $uri $uri/ /index.php$is_args$args;
	}

	# pass PHP scripts to FastCGI server
	#
	location ~ \.php$ {
	#	include snippets/fastcgi-php.conf;
	#
	#	# With php-fpm (or other unix sockets):
	#	fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
	#	# With php-cgi (or other tcp sockets):
	#	fastcgi_pass 127.0.0.1:9000;
        try_files $uri /index.php =404;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
	    fastcgi_index index.php;
    	fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

	# deny access to .htaccess files, if Apache's document root
	# concurs with nginx's one
	#
	location ~ /\.ht {
		deny all;
	}
}


# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
#	listen 80;
#	listen [::]:80;
#
#	server_name example.com;
#
#	root /var/www/example.com;
#	index index.html;
#
#	location / {
#		try_files $uri $uri/ =404;
#	}
#}

Subscribe
Share

Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Hi there @sembara9090,

It looks like that your permissions are not correct. Can you run the following two commands and share the output so that I could see what are your exact file permissions and ownership set to:

  1. ls -lah /var/www/html/laravel/wadrobe/public

And then also check the user that Nginx is running as:

  1. ps aux | grep -i nginx

Another thing that I could suggest is using the LaraSail community tool, it will set up your server and allow you to deploy new projects with just 1 command:

https://www.digitalocean.com/community/tools/larasail

Or you could use the 1-Click installation for Laravel from the Marketplace:

https://marketplace.digitalocean.com/apps/laravel

Here is a quick video on how to do that as well:

Hope that this helps! Regards, Bobby