By benwed
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!
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:
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
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.
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
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
www:sudo tail -f /var/log/nginx/error.log
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.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.