Blank grey screen on static server (http/403)

Hi :wave:

You are running into permission issues, despite your chmod --recursive a+r ~/web attempt.

Will explain in a second, but first:

The blank page you are seeing has an error attached, actually.
Sure, there is nothing to see on the website itself, but the browser devtools report a http/403 status code.

Your curl (thank for providing that, btw), shows it too:


A user (here: caddy), which tries to read a file (here: your website) on Linux, must have execution permissions (e.g chmod -R a+x) on every directory leading to your file.
This is just how Linux file permissions work :innocent:

I’ve explained that a bit in the past in

but I haven’t tidied up it to a proper wiki article here yet *sigh*

Anyhow, so the tl;dr-ish version would be:
caddyserver runs as user caddy

Your website’s webroot is in /home/ubuntu/web

But the caddy user is missing the execution permissions on /home/ubuntu and maybe on /home/ubuntu/web.
You could just add the missing permission bit via chmod, but please don’t.
Just move your website into a proper location like /srv or /var/www and you are good.

The /home/$USER/ directory is missing the execution bit by default for a reason.
Other users aren’t supposed to have access to any file or directories in another users’ /home directory.

1 Like