# Can’t load Ghost on IP address

**URL:** <https://forum.ghost.org/t/can-t-load-ghost-on-ip-address/12904>\
**Category:** Installation\
**Created:** [March 23, 2020, 5:26pm UTC](https://forum.ghost.org/t/can-t-load-ghost-on-ip-address/12904 "2020-03-23T17:26:00Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![ajmalafif](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/ajmalafif/32/1319_2.png) [@ajmalafif](https://forum.ghost.org/u/ajmalafif)\
**Post date:** [March 23, 2020, 5:26pm UTC](https://forum.ghost.org/t/can-t-load-ghost-on-ip-address/12904/1 "2020-03-23T17:26:00Z")

</div>

If you’re looking for some help, it’s important to provide as much context as possible so that people are able to assist you. Try to always mention:

- What’s your URL? This is the easiest way for others to debug your issue  
[http://167.71.214.255/](http://167.71.214.255/)

- What version of Ghost are you using?  
v3.11.0

- What configuration?  
Followed official doc [How to install & setup Ghost on Ubuntu 16.04, 18.04, 20.04 or 22.04](https://ghost.org/docs/install/ubuntu/#run-the-install-process)

- What browser?  
Chrome

- What errors or information do you see in the console?  
No error

- What steps could someone else take to reproduce the issue you’re having?  
Follow along and use IP as url: [How to install & setup Ghost on Ubuntu 16.04, 18.04, 20.04 or 22.04](https://ghost.org/docs/install/ubuntu/#run-the-install-process)

It seems like having a domain is a dependency. My use case is that the authors keep thinking the ghost on any of my subdomain is ”wrongly install” and after explanation we can export the posts etc, though they get it but it seems psychologically it’s blocking.

I was thinking to just have it on an IP instead but can’t figure out how.

 ![image](https://us1.discourse-cdn.com/flex015/uploads/ghost2/original/2X/8/84dfb2776c0f0813aa1b6a2003c6de003151fa4b.png)

---

<div class="post-metadata">

**Author:** ![Kevin](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/kevin/32/32_2.png) [@Kevin](https://forum.ghost.org/u/Kevin)\
**Post date:** [March 23, 2020, 5:59pm UTC](https://forum.ghost.org/t/can-t-load-ghost-on-ip-address/12904/2 "2020-03-23T17:59:16Z")

</div>

@ajmalafif it looks like Ghost is correctly configured. Have you updated your nginx configuration to proxy correctly on the IP address?

---

<div class="post-metadata">

**Author:** ![ajmalafif](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/ajmalafif/32/1319_2.png) [@ajmalafif](https://forum.ghost.org/u/ajmalafif)\
**Post date:** [March 23, 2020, 6:01pm UTC](https://forum.ghost.org/t/can-t-load-ghost-on-ip-address/12904/3 "2020-03-23T18:01:15Z")

</div>

Hey thanks for jumping in! I tried (by looking at 2018ish tutorials) but none of it worked. Now it‘s vanilla.

---

<div class="post-metadata">

**Author:** ![Kevin](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/kevin/32/32_2.png) [@Kevin](https://forum.ghost.org/u/Kevin)\
**Post date:** [March 23, 2020, 6:02pm UTC](https://forum.ghost.org/t/can-t-load-ghost-on-ip-address/12904/4 "2020-03-23T18:02:09Z")

</div>

What do you mean by vanilla? Are you able to share your nginx configuration?

---

<div class="post-metadata">

**Author:** ![ajmalafif](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/ajmalafif/32/1319_2.png) [@ajmalafif](https://forum.ghost.org/u/ajmalafif)\
**Post date:** [March 23, 2020, 6:04pm UTC](https://forum.ghost.org/t/can-t-load-ghost-on-ip-address/12904/5 "2020-03-23T18:04:39Z")

</div>

I‘m trying to copy paste it but it doesn‘t work with nano and I dont know how to use vim. One sec lemme figure it out and paste it here.

---

<div class="post-metadata">

**Author:** ![ajmalafif](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/ajmalafif/32/1319_2.png) [@ajmalafif](https://forum.ghost.org/u/ajmalafif)\
**Post date:** [March 23, 2020, 6:09pm UTC](https://forum.ghost.org/t/can-t-load-ghost-on-ip-address/12904/6 "2020-03-23T18:09:30Z")

</div>

Hi Kevin, thanks for waiting I managed to quit vim 😛

```auto
##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# https://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# In most cases, administrators will remove this file from sites-enabled/ and
# leave it as reference inside of sites-available where it will continue to be
# updated by the nginx packaging team.
#
# This file will automatically load configuration files provided by other
# applications, such as Drupal or Wordpress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

# Default server configuration
#
server {
        listen 80 default_server;
        listen [::]:80 default_server;

-- VISUAL LINE -- 91 1,1 Top
##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# https://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# In most cases, administrators will remove this file from sites-enabled/ and
# leave it as reference inside of sites-available where it will continue to be
# updated by the nginx packaging team.
#
# This file will automatically load configuration files provided by other
# applications, such as Drupal or Wordpress. These applications will be made
# available underneath a path with that package name, such as /drupal7.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

# Default server configuration
#
server {
        listen 79 default_server;
        listen [::]:79 default_server;

-- VISUAL LINE -- 91 1,1 Top
        #location ~ /\.ht {
        # deny all;
        #}
}

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

```

---

<div class="post-metadata">

**Author:** ![ijongkim](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/ijongkim/32/6186_2.png) [@ijongkim](https://forum.ghost.org/u/ijongkim)\
**Post date:** [March 24, 2020, 4:55pm UTC](https://forum.ghost.org/t/can-t-load-ghost-on-ip-address/12904/7 "2020-03-24T16:55:27Z")

</div>

If that’s your nginx config, it is missing a lot. Primarily, it’s missing the section where you route requests to your local server internally. I would re-try using Ghost CLI to generate your nginx config for you.

---

<div class="post-metadata">

**Author:** ![elijahsgh](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/elijahsgh/32/6949_2.png) [@elijahsgh](https://forum.ghost.org/u/elijahsgh)\
**Post date:** [March 24, 2020, 6:11pm UTC](https://forum.ghost.org/t/can-t-load-ghost-on-ip-address/12904/8 "2020-03-24T18:11:47Z")

</div>

You might also save yourself some trouble next time by using `cat` to output directly to the screen all in one shot. You should be able to cut and paste the whole thing a lot easier that way. 🙂

---

<div class="post-metadata">

**Author:** ![vay2250](https://avatars.discourse-cdn.com/v4/letter/v/7ab992/32.png) [@vay2250](https://forum.ghost.org/u/vay2250)\
**Post date:** [December 11, 2020, 3:34pm UTC](https://forum.ghost.org/t/can-t-load-ghost-on-ip-address/12904/9 "2020-12-11T15:34:44Z")

</div>

Hi, I am facing same issue. IP address is 150.136.235.77 and My nginx config is

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

    server_name 150.136.235.77;
    root /var/www/ghost/system/nginx-root; # Used for acme.sh SSL verification (https://acme.sh)

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;
        proxy_pass http://127.0.0.1:2368;
        
    }

    location ~ /.well-known {
        allow all;
    }

    client_max_body_size 50m;
}

```

Also, this is from the config.production.json

```auto
{
  "url": "http://150.136.235.77",
  "server": {
    "port": 2368,
    "host": "127.0.0.1"
  },

```

---

<div class="post-metadata">

**Author:** ![Robert\_Yang](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/robert_yang/32/15571_2.png) [@Robert\_Yang](https://forum.ghost.org/u/Robert_Yang)\
**Post date:** [October 27, 2021, 5:05am UTC](https://forum.ghost.org/t/can-t-load-ghost-on-ip-address/12904/10 "2021-10-27T05:05:01Z")

</div>

Is there a solution for this? I am having the same issue, running mutiple instances on the same server, i can only load the first site, wont be able to load the rest sites. I got message connecction refused on port 2368, 2369 2370…

---

<div class="post-metadata">

**Author:** ![jeff](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/jeff/32/4900_2.png) [@jeff](https://forum.ghost.org/u/jeff)\
**Post date:** [October 27, 2021, 11:17am UTC](https://forum.ghost.org/t/can-t-load-ghost-on-ip-address/12904/11 "2021-10-27T11:17:52Z")

</div>

Does your server have multiple IP addresses?

If it only has one IP then you need to setup your DNS and nginx server\_name directives.

---

<div class="post-metadata">

**Author:** ![Kevin](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/kevin/32/32_2.png) [@Kevin](https://forum.ghost.org/u/Kevin)\
**Post date:** [October 27, 2021, 11:39am UTC](https://forum.ghost.org/t/can-t-load-ghost-on-ip-address/12904/12 "2021-10-27T11:39:09Z")

</div>

> [@vay2250](#):
>
> `"host": "127.0.0.1"`

That’s likely your problem, the server will only listen on the 127.0.0.1 loopback interface. Try 0.0.0.0 to listen on all IPs or your specific 150.136.235.77 IP depending on your use-case.

---

<div class="post-metadata">

**Author:** ![Robert\_Yang](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/robert_yang/32/15571_2.png) [@Robert\_Yang](https://forum.ghost.org/u/Robert_Yang)\
**Post date:** [October 27, 2021, 1:49pm UTC](https://forum.ghost.org/t/can-t-load-ghost-on-ip-address/12904/13 "2021-10-27T13:49:21Z")

</div>

Yes, has to change “localhost” to the host IP
