Hi ![]()
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 ![]()
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.