saocyan
By:
saocyan

How do you debug a 404 error when setting up multiple domains on a droplet with LEMP?

March 25, 2018 613 views
LEMP Nginx PHP Let's Encrypt Ubuntu 16.04

Apologies if this is a newbie question—first time setting up a server!

Used the following tutorials:

https://www.digitalocean.com/community/tutorials/how-to-set-up-multiple-wordpress-sites-on-a-single-ubuntu-vps
https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-16-04
https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-lemp-on-ubuntu-16-04

I have an index.php file in /home/exampleuser/example.com.

(example.com and exampleuser are not the real domain/user)

server {
    # URL: Correct way to redirect URL's
    server_name example.com;
    rewrite ^/(.*)$ http://www.example.com/$1 permanent;
 # managed by Certbot

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}
server {
    server_name example.com www.example.com;
    root /home/exampleuser/example.com;
    access_log /var/log/nginx/www.example.com.access.log;
    error_log /var/log/nginx/www.example.com.error.log;
    include global/common.conf;
    include global/wordpress.conf;

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}
server {
    if ($host = example.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    server_name example.com;
    listen 80;
    return 404; # managed by Certbot


}
server {
    if ($host = www.example.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    server_name www.example.com;
    return 404; # managed by Certbot


}
1 Answer
jasonjpeters March 25, 2018
Accepted Answer

I am not seeing anything other then your redirects and SSL handling in this config. Where is your php upstream - in common.conf / wordpress.conf?

Have another answer? Share your knowledge.