# After Discourse installation can’t reach it in browser

**URL:** https://meta.discourse.org/t/after-discourse-installation-can-t-reach-it-in-browser/106887
**Category:** Self-hosting
**Created:** [18 januari 2019 om 09:30 UTC](https://meta.discourse.org/t/after-discourse-installation-can-t-reach-it-in-browser/106887 "2019-01-18T09:30:19Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Daniel\_Nevoigt](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/daniel_nevoigt/32/92920_2.png) [@Daniel\_Nevoigt](https://meta.discourse.org/u/Daniel_Nevoigt)
#### Post date: [18 januari 2019 om 09:30 UTC](https://meta.discourse.org/t/after-discourse-installation-can-t-reach-it-in-browser/106887/1 "2019-01-18T09:30:19Z")

</div>

Hello,

I have set up a new Ubuntu 18 Cloud Server and installed Discourse like I did it all times, the Standard under 30 Min setup. When I now want to first create a admin, I am calling the installation in my browser and getting error that server is not reachable. 2 things are different to my other servers, 1. I changed to Hetzner Cloud, 2. I can only call the installtion with the IP adress at the moment, as I want to switch another existing server to the new one.

The Hetzner Ubuntu Image is minimal I think, nothing installed. I am out of knowledge now and hope that someone could point me the right direction 🙂

Thanks a lot in advance.  
Cheers, Daniel

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [18 januari 2019 om 12:45 UTC](https://meta.discourse.org/t/after-discourse-installation-can-t-reach-it-in-browser/106887/2 "2019-01-18T12:45:39Z")

</div>

If you can access via ip but not the desired domain name then it’s a dns problem. If you share the domain name and ip then someone could confirm.

---

<div class="post-metadata">

### Author: ![Daniel\_Nevoigt](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/daniel_nevoigt/32/92920_2.png) [@Daniel\_Nevoigt](https://meta.discourse.org/u/Daniel_Nevoigt)
#### Post date: [18 januari 2019 om 13:55 UTC](https://meta.discourse.org/t/after-discourse-installation-can-t-reach-it-in-browser/106887/3 "2019-01-18T13:55:43Z")

</div>

Hi Jay,

thx for reply. I think I explained wrong. I tried only to access via IP, the domain name is still not pointed on the new server. The result of trying to access via IP is the error I said before.

Discourse is up and running but the server somehow diesn´t point to the docker container. I don´t have clue.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [18 januari 2019 om 14:28 UTC](https://meta.discourse.org/t/after-discourse-installation-can-t-reach-it-in-browser/106887/4 "2019-01-18T14:28:24Z")

</div>

Perhaps you need to make sure that port 80 (and 443 if you’re going to want https) is accessible to the outside. Check with your provider.

---

<div class="post-metadata">

### Author: ![Daniel\_Nevoigt](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/daniel_nevoigt/32/92920_2.png) [@Daniel\_Nevoigt](https://meta.discourse.org/u/Daniel_Nevoigt)
#### Post date: [18 januari 2019 om 16:06 UTC](https://meta.discourse.org/t/after-discourse-installation-can-t-reach-it-in-browser/106887/5 "2019-01-18T16:06:18Z")

</div>

I have another stupid question, really stupid 🙂  
Do I need an an apache or any other webserver installed additionally? Or does the mentioned install method supports everything needed for launching? Sorry for that dumb question ☹

The server is complete fresh, minimal installation of ubuntu, so nothing more is installed.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [18 januari 2019 om 18:26 UTC](https://meta.discourse.org/t/after-discourse-installation-can-t-reach-it-in-browser/106887/6 "2019-01-18T18:26:27Z")

</div>

No. You don’t want to install anything else.

I recommend opening a ticket with the provider and/or checking their settings to see if you need to do something to open up ports. Sometimes all ports are closed by default.

---

<div class="post-metadata">

### Author: ![Daniel\_Nevoigt](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/daniel_nevoigt/32/92920_2.png) [@Daniel\_Nevoigt](https://meta.discourse.org/u/Daniel_Nevoigt)
#### Post date: [18 januari 2019 om 21:47 UTC](https://meta.discourse.org/t/after-discourse-installation-can-t-reach-it-in-browser/106887/7 "2019-01-18T21:47:07Z")

</div>

My provider Hetzner doesn´t offers a extern firewall for the cloud server structure. The only I can do is to check up my system configuration, ufw for example.

```
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00013s latency).
Not shown: 131065 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
6010/tcp open x11
68/udp open|filtered dhcpc

Nmap done: 1 IP address (1 host up) scanned in 4851.83 seconds
root@crazy-geek:~# ufw status
Status: inactive

```

As I said, its a standard configuration. I am sure I am missing a small thing ☹(

Docker Status:

```
root@crazy-geek:~# service docker status
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-01-17 12:45:06 CET; 1 day 9h ago
     Docs: https://docs.docker.com
 Main PID: 3857 (dockerd)
    Tasks: 22
   CGroup: /system.slice/docker.service
           ├─ 3857 /usr/bin/dockerd -H fd://
           ├─14119 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 443 -container-ip 172.17.0.2 -container-port 443
           └─14130 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 80 -container-ip 172.17.0.2 -container-port 80

Jan 17 12:58:49 crazy-geek dockerd[3857]: time="2019-01-17T12:58:49.450467881+01:00" level=info msg="ignoring event" module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
Jan 17 12:58:50 crazy-geek dockerd[3857]: time="2019-01-17T12:58:50.171181280+01:00" level=info msg="ignoring event" module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
Jan 17 12:58:51 crazy-geek dockerd[3857]: time="2019-01-17T12:58:51.054211198+01:00" level=info msg="ignoring event" module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
Jan 17 12:58:51 crazy-geek dockerd[3857]: time="2019-01-17T12:58:51.862330252+01:00" level=info msg="ignoring event" module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
Jan 17 12:58:52 crazy-geek dockerd[3857]: time="2019-01-17T12:58:52.565811076+01:00" level=info msg="ignoring event" module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
Jan 17 12:58:53 crazy-geek dockerd[3857]: time="2019-01-17T12:58:53.283330959+01:00" level=info msg="ignoring event" module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
Jan 17 12:58:54 crazy-geek dockerd[3857]: time="2019-01-17T12:58:54.011132735+01:00" level=info msg="ignoring event" module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
Jan 17 12:58:54 crazy-geek dockerd[3857]: time="2019-01-17T12:58:54.695183727+01:00" level=info msg="ignoring event" module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
Jan 17 12:58:55 crazy-geek dockerd[3857]: time="2019-01-17T12:58:55.437976456+01:00" level=info msg="ignoring event" module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
Jan 17 12:58:56 crazy-geek dockerd[3857]: time="2019-01-17T12:58:56.063518104+01:00" level=info msg="ignoring event" module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"

```

I have tried few things now. Let me explain:

1. complete rebuild of the cloud-server. Installed apache, it´s accessable
2. afterwards, deactivated apache, installed discourse standard docker install. Not accessable
3. complete rebuild of the cloud server. Installed discourse standard docker install. Not accessable

I am out of order now 😃

---

<div class="post-metadata">

### Author: ![ssvenn](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ssvenn/32/86740_2.png) [@ssvenn](https://meta.discourse.org/u/ssvenn)
#### Post date: [20 januari 2019 om 07:26 UTC](https://meta.discourse.org/t/after-discourse-installation-can-t-reach-it-in-browser/106887/8 "2019-01-20T07:26:39Z")

</div>

You can test it locally on the host with

`curl http://localhost/`  
`curl http://172.17.0.2/`

One or both of those should return a bunch of html. If they don’t, go look at the log files in /var/discourse/shared/standalone/log/var-log/nginx/ and /var/discourse/shared/standalone/log/rails/production.log for clues about what could be wrong

You could try .`/launcher enter app` in the discourse directory and running the `top` command to verify that nginx, redis, postmaster and ruby are all running. curl is available to test inside the container too.

---

<div class="post-metadata">

### Author: ![Daniel\_Nevoigt](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/daniel_nevoigt/32/92920_2.png) [@Daniel\_Nevoigt](https://meta.discourse.org/u/Daniel_Nevoigt)
#### Post date: [21 januari 2019 om 12:48 UTC](https://meta.discourse.org/t/after-discourse-installation-can-t-reach-it-in-browser/106887/9 "2019-01-21T12:48:03Z")

</div>

Thanks @ssvenn,

I tried curl inside the container both adresses:

```
root@crazy-geek:~# cd /var/discourse
root@crazy-geek:/var/discourse# ./launcher enter app
root@crazy-geek-app:/var/www/discourse# curl http://localhost/
curl: (7) Failed to connect to localhost port 80: Connection refused
root@crazy-geek-app:/var/www/discourse# curl http://172.17.0.2/
curl: (7) Failed to connect to 172.17.0.2 port 80: Connection refused

```

Outside the container:

```
root@crazy-geek:/var/discourse# curl http://localhost/
curl: (56) Recv failure: Connection reset by peer
root@crazy-geek:/var/discourse# curl http://172.17.0.2/
curl: (7) Failed to connect to 172.17.0.2 port 80: Connection refused

```

Error Logs from inside the container:

Nginx (whole error.log is full of the same message):

`2019/01/21 12:42:09 [emerg] 16765#16765: PEM_read_bio_X509_AUX("/shared/ssl/crazy-geek.de.cer") failed (SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line:Expecting: TRUSTED CERTIFICATE)`

Production Log is empty.

So what does that mean to you?

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [21 januari 2019 om 14:08 UTC](https://meta.discourse.org/t/after-discourse-installation-can-t-reach-it-in-browser/106887/10 "2019-01-21T14:08:33Z")

</div>

Perhaps let’s encrypt failed to get the certs? Maybe rebuild again? How did you enable let’s encrypt?

---

<div class="post-metadata">

### Author: ![Daniel\_Nevoigt](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/daniel_nevoigt/32/92920_2.png) [@Daniel\_Nevoigt](https://meta.discourse.org/u/Daniel_Nevoigt)
#### Post date: [21 januari 2019 om 16:26 UTC](https://meta.discourse.org/t/after-discourse-installation-can-t-reach-it-in-browser/106887/11 "2019-01-21T16:26:35Z")

</div>

Thanks a lot. That was a noob mistake actually. I needed to deactivate ssl templates in app.yml and rebuild new. Problem was that letsencrypt couldn´t verify the cert for the domain, as the domain is still pointed to the old server 🙂  
Sorry for my mistakes and thx a lot for the provided help!

---

<div class="post-metadata">

### Author: ![paulraines68](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/paulraines68/32/233905_2.png) [@paulraines68](https://meta.discourse.org/u/paulraines68)
#### Post date: [3 september 2020 om 03:11 UTC](https://meta.discourse.org/t/after-discourse-installation-can-t-reach-it-in-browser/106887/12 "2020-09-03T03:11:59Z")

</div>

Just wasted hours on this myself. The install instructions at [discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub](https://github.com/discourse/discourse/blob/master/docs/INSTALL-cloud.md) imply if you just hit enter at the Let’s Encrypt line it gets skipped. But it doesn’t. It still sets up things to use a SSL cert it cannot get at email [me@example.com](mailto:me@example.com)

One has to then go into app.yml, comment out the Let’s Encrypt email line and the ssl templates and then launcher rebuilt. I think this should be considered a bug in the discourse-setup. Also discourse-setup should have support for installing your own SSL cert gotten from another authority right at the beginning so you don’t have to rebuild.

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [3 september 2020 om 03:57 UTC](https://meta.discourse.org/t/after-discourse-installation-can-t-reach-it-in-browser/106887/13 "2020-09-03T03:57:22Z")

</div>

It’s intentional, Discourse installs secure by default with https by out of the box. That email field is only to notify you of renewal problems.

What benefit is there to using the cert from a different CA? EV certs aren’t really a thing any more and Discourse can manage it’s own certificate automatically.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [3 september 2020 om 09:24 UTC](https://meta.discourse.org/t/after-discourse-installation-can-t-reach-it-in-browser/106887/14 "2020-09-03T09:24:36Z")

</div>

> [@paulraines68](#):
>
> Also discourse-setup should have support for installing your own SSL cert

Discourse setup is for only the most standard installation. If you’re capable of getting your own cert then you are responsible for installing it. I agree that it’s a bit confusing that let’s encrypt is installed by default, but it’s safer and it’s been that way for a very long time now with very few reports of problems.

---

<div class="post-metadata">

### Author: ![paulraines68](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/paulraines68/32/233905_2.png) [@paulraines68](https://meta.discourse.org/u/paulraines68)
#### Post date: [3 september 2020 om 16:07 UTC](https://meta.discourse.org/t/after-discourse-installation-can-t-reach-it-in-browser/106887/15 "2020-09-03T16:07:06Z")

</div>

Then the prompt on the Let’s Encrypt part should not say SKIP on it since it does not really skip it if you hit ENTER. Or give you some hint of what to do if not using Let’s Encrypt.

But in my opinion SKIP should be supported and if it is skipped discourse should be setup with no SSL at that point working only on port 80 rather than not working at all  
in a very mysterious and hard to debug state like the posts above show.

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [3 september 2020 om 16:26 UTC](https://meta.discourse.org/t/after-discourse-installation-can-t-reach-it-in-browser/106887/16 "2020-09-03T16:26:46Z")

</div>

You haven’t really explained why you can’t use the automatically provided certificate or how it’s inferior.

There doesn’t sound to be any technical issue here, at best it’s a preference.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [3 september 2020 om 16:38 UTC](https://meta.discourse.org/t/after-discourse-installation-can-t-reach-it-in-browser/106887/17 "2020-09-03T16:38:03Z")

</div>

> [@paulraines68](#):
>
> Then the prompt on the Let’s Encrypt part should not say SKIP on it since it does not really skip it if you hit ENTER. Or give you some hint of what to do if not using Let’s Encrypt.

I’ll need to look more carefully, but I think you’re right. I suspect that what it should do is not ask you anything and just use the developer email address for let’s encrypt. The rub is that it’s legal to include multiple addresses for developer emails, but not for let’s encrypt, so it’d be somewhat fiddly, but do able.

---

<div class="post-metadata">

### Author: ![paulraines68](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/paulraines68/32/233905_2.png) [@paulraines68](https://meta.discourse.org/u/paulraines68)
#### Post date: [4 september 2020 om 13:00 UTC](https://meta.discourse.org/t/after-discourse-installation-can-t-reach-it-in-browser/106887/18 "2020-09-04T13:00:33Z")

</div>

@Stephen Well, like the start of this thread states, whatever was “automatic” did not work. The system was in a state were it would not serve web pages at all on port 80 or 443. Once I commented out the ssl templates and rebuilt, it worked on port 80 just fine.

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [4 september 2020 om 14:33 UTC](https://meta.discourse.org/t/after-discourse-installation-can-t-reach-it-in-browser/106887/19 "2020-09-04T14:33:12Z")

</div>

It’s likely to be a very easy fix, there are thousands of installs where it has set up without a hitch.

Are you using Cloudflare?

How many times did you attempt to set Discourse up at that hostname with Let’s Encrypt enabled?

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [4 september 2020 om 15:33 UTC](https://meta.discourse.org/t/after-discourse-installation-can-t-reach-it-in-browser/106887/20 "2020-09-04T15:33:55Z")

</div>

> [@pfaffman](#):
>
> what it should do is not ask you anything and just use the developer email address for let’s encrypt

Can’t share emails with third parties without consent.

> [@paulraines68](#):
>
> the prompt on the Let’s Encrypt part should not say SKIP on it since it does not really skip it if you hit ENTER. Or give you some hint of what to do if not using Let’s Encrypt.

Exact words are

```
      read -p "Optional email address for Let's Encrypt warnings? ($letsencrypt_status) [$letsencrypt_account_email]: " new_value

```

It’s does skip giving your email. If you have different needs, you can manually edit the yaml file to suit.

[Volgende pagina](https://meta.discourse.org/t/after-discourse-installation-can-t-reach-it-in-browser/106887.md?page=2)
