IP address worked but domain name does not

Domain name is registered and DNS is pointed to DO as per tutorial. Created “A” record for and and * Also created Nginx server block for in /etc/nginx/sites-available/ with same names under “Server”. I was able to access by IP address only and I figured it just need time to register. I had a working wordpress install and to see if I could get it working after few days with the domain name I changed in Wordpress admin >Settings>General>Wordpress Address and Site Address URL from to It could not load and now I am logged out and can not bring up any page at all. Any ideas?

Here is the nginx config. Just a guess but maybe Nginx can not find this correct nginx config file for and is loading another default config file and is crapping out. Strange that it was working with the ip address and then after just that one change in the wordpress admin I can not even get a proper error page and if I type in the ip address in the browser it rewrites it to so it seems the DNS mapping is working but I don’t know.

This is a fresh install with the LEMP one click install and did the HTTPS config running Certbot (this may be the culprit). Created a sybolic link with sudo ln -s /etc/nginx/sites-available/ /etc/nginx/sites-enabled/ Unlinked the default with sudo unlink /etc/nginx/sites-enabled/default.

sudo ufw status

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     LIMIT       Anywhere
443/tcp                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
Nginx Full                 ALLOW       Anywhere
OpenSSH                    ALLOW       Anywhere
22/tcp (v6)                LIMIT       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
Nginx Full (v6)            ALLOW       Anywhere (v6)
OpenSSH (v6)               ALLOW       Anywhere (v6)

Here is the server block code -when pasted in here it looks strange

server {

	# SSL configuration
	# listen 443 ssl default_server;
	# listen [::]:443 ssl default_server;
	# Note: You should disable gzip for SSL traffic.
	# See:
	# Read up on ssl_ciphers to ensure a secure configuration.
	# See:
	# Self signed certs generated by the ssl-cert package
	# Don't use them in a production server!
	# include snippets/snakeoil.conf;


	server_name *;

	client_max_body_size 256M;

	root /var/www/;
	# Add index.php to the list if you are using PHP
	index index.php index.html index.htm index.nginx-debian.html;

	location = /favicon.ico { log_not_found off; access_log off; }
   	location = /robots.txt { log_not_found off; access_log off; allow all; }
   	location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
        expires max;
        log_not_found off;

	location / {
		# First attempt to serve request as file, then
		# as directory, then fall back to displaying a 404.
		# try_files $uri $uri/ =404;
		try_files $uri $uri/ /index.php$is_args$args;

	# pass PHP scripts to FastCGI server
	location ~ \.php$ {
		include snippets/fastcgi-php.conf;
		include fastcgi.conf;
	#	fastcgi_index  index.php;
	#	# With php-fpm (or other unix sockets):
		fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
	#	# With php-cgi (or other tcp sockets):
	#	fastcgi_pass;

	# deny access to .htaccess files, if Apache's document root
	# concurs with nginx's one
	 location ~ /\.ht {
		deny all;

    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot


# Virtual Host configuration for
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#server {
#	listen 80;
#	listen [::]:80;
#	server_name;
#	root /var/www/;
#	index index.html;
#	location / {
#		try_files $uri $uri/ =404;
#	}

server {

    if ($host = {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    if ($host = {
        return 301 https://$host$request_uri;
    } # managed by Certbot

	listen 80;
	listen [::]:80;

    return 404; # managed by Certbot

Show comments

Submit an answer

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!

Sign In or Sign Up to Answer

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.

Accepted Answer

Tried the Fail2ban stuff but nothing worked and even uninstalled it. Tried lots of other things. I give up 3 weeks later for a simple LEMP stack with Wordpress. One click garbage installs. Can somebody delete this whole question entry

GO to the company from where you bought the domain name, for example google domains. They will have one option to bind the IP address of your server to the domain name by using DNS A, AAAA, NS, PTR, CNAME records. Once these are set, the name will resolve to IP address and the IP Address will resolve to the name. I just did the same for my Servers based on Django! Thanks for asking!!

Nothing works I give up Can someone delete this entire post

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Featured on Community

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel