Report this

What is the reason for this report?

How do I find the error causing www not to work with my domain?

Posted on July 22, 2020

I set up my first server on a digital ocean droplet two months ago. The website operates great under ‘site.com’(this is not the actual address…). However, you can no longer access it with ‘www.site.com’. I set up certbot, and that worked at the time of set up, but it is having issues now, second to the DNS issue.

All of this goes to say, I can not figure out why it is failing to work with www, when it allowed me to use it last month.

I have an A Record for the domain itself, and then a CNAME with www as an alias of the domain. My assumption is that the server details may be incorrect. A related stack overflow thread suggested that you need a separate server detail in the same file set up with server_name as www.

Currently, this is what I have (The latter details of the server are left out after the server name):


server {
        listen 80;
        listen [::]:80;

        root /var/www/site.com/html;
        index index.html index.htm index.nginx-debian.html;

        server_name site.com www.site.com;

The location block and certbot info follows if that is applicable. This is how it is shown in the digital ocean docs that I read.

I tried checking the nginx logs, and the access logs work fine. The error log is clear of anything, so either it doesn’t work, or there are no errors.

Again, this is my first server/site, so I am open to any stupid and obvious mistakes that you can think of. I appreciate it!



This textbox defaults to using Markdown to format your 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 @benwed,

Can you post your whole server block? At the moment what I see look okay but still want to be sure.

If have mentioned you can’t see any errors, this leads me to believe that your www record is not actually working properly.

If you ping your www domain

ping www.domain.com

Where domain.com is your really domain, what does it return, do you see your droplet’s IP address or something else?

Regards, KFSys

An update answer on an older topic

Based on the description, it seems like the issue might be related to DNS configuration or SSL certificate configuration rather than your Nginx setup. Your Nginx configuration appears to be correct for handling both site.com and www.site.com. Here are a few steps you can follow to troubleshoot the issue:

1. Check DNS Configuration

  • Ensure that the DNS A record for site.com and the CNAME record for www.site.com are properly set up in your DNS settings.

  • The A record should point to your server’s IP address, and the CNAME record for www should point to site.com.

  • You can use tools like dig or nslookup to verify DNS records:

dig site.com
dig www.site.com

2. Verify SSL Certificate

  • If site.com is working but www.site.com is not, especially if it worked previously, the SSL certificate might be the issue. The certificate should be valid for both the www and non-www versions of your domain.

  • Check your SSL certificate status with:

sudo certbot certificates

This will show you for which domains the certificate is valid.

  • If www.site.com is not included, you need to expand your certificate to cover both versions. You can do this with Certbot:
sudo certbot --expand -d site.com -d www.site.com

3. Check Nginx Configuration

  • Although your Nginx configuration looks correct, make sure there are no conflicting server blocks or other configurations that might be causing issues.

  • After any changes, validate your Nginx configuration and reload it:

sudo nginx -t
sudo systemctl reload nginx

4. Check Nginx Logs

  • Even though you mentioned the error logs are clear, it’s good to check them again after you try accessing the site with www:
sudo tail -f /var/log/nginx/error.log

5. Test Access to the Site

  • After ensuring DNS and SSL are correctly set up, try accessing www.site.com from a browser or using curl:
curl -I http://www.site.com
curl -I https://www.site.com

By following these steps, you should be able to identify and resolve the issue with www.site.com. The key areas to focus on are DNS settings, SSL certificate coverage, and Nginx configuration.

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.