Connectivity issues during installation

Checking your domain name . . .
WARNING: Port 443 of computer does not appear to be accessible using hostname: ***.com.
WARNING: Connection to http://shoutam.com (port 80) also fails.

This suggests that ***.com resolves to some IP address that does not reach this
machine where you are installing discourse.

The first thing to do is confirm that ***.com resolves to the IP address of this server.
You usually do this at the same place you purchased the domain.

If you are sure that the IP address resolves correctly, it could be a firewall issue.
A web search for “open ports YOUR CLOUD SERVICE” might help.

This tool is designed only for the most standard installations. If you cannot resolve
the issue above, you will need to edit containers/app.yml yourself and then type

./launcher rebuild app

Please can someone help me resolve this? I am using Cloudflare.

Either turn off cloudflare or you’ll have to configure discourse to use the cloudflare template.

2 Likes

But you still won’t be able to install, as let’s encrypt requires direct access to ports 80 an 443 to issue a certificate.

After you’ve got your certificate and Discourse is installed you can search for topics about how to make it work with cloudflare in the middle (which includes using the cloudflare template).

1 Like

Good Catch, This isn’t letsencrypt but acme.sh client used in discourse that needs direct access (certbot has DNS plugins which require additional work but eliminate this requirement), I didn’t think of did because basically every discourse install I’ve deployed in years has required use of a reverse proxy hence the internal ssl template is disabled up front.

I have removed the site from CLoudflare, yet I get the same issue. What else can I do please?

I’m not sure what you mean by removed but usually it takes a couple hours for DNS to propagate. It might be worth waiting some time and then trying again.

There’s quite a lot of information missing here for us to really offer much more help.

These days Cloudflare won’t fail in proxy (orange cloud) mode as long as HTTPS isn’t set to strict, as both :80 (HTTP) and :443 (HTTPS) are being passed directly to the server.

Strict forces traffic on :80 to be redirected to SSL, and thus the challenge would fail.

It’s quite possible you’ve missed one or more of the fundamentals, but without telling us where the VPS is located and what you’ve configured within DNS we’re going to be guessing at best as to what’s happening here.

Some providers require ACLs be set between their VPS and the outside world - have you verified those ports are open externally? Are you sure the ‘a’ record you’ve added to DNS is to the public IP address which has been allocated? Are there any firewalls present?

That’s true with some DNS providers, sure, but Cloudflare forces a TTL of 300 seconds on any address they proxy. That means any upstream DNS servers will have expired the old records within five minutes of the change.

All the template does is ensure the correct client IPs are being pulled out of the extra header information Cloudflare adds when proxy mode is enabled, it’s not really relevant to the install process.

2 Likes

If you ran a rebuild a few times with the orange cloud then you likely hit rate limits with let’s encrypt. The easy solutions are to use a different subdomain or wait a week.

please will it work if i destroy the droplet and create a new one?

Please note that I successfully installed discourse before this issue but I destroyed that droplet because there was an error in the admin email. Now I can’t seem to install discourse using the same process i used before.

That suggests that my explanation is the likely reason.

1 Like

Resurrecting this thread in hopes that the knowledgeable commenters may be able to help me out as well.
I am getting the same error as the original OP
Currently running Unraid and have a container running Nginix Proxy Manager. Firewall ports configured to send all port 80/443 traffic to my NPM container. I have successfully set up many docker containers with my NPM container and all has worked well.

I installed a UbuntuServer VM, went though initial config, setup static IP for the VM, installed docker, then downloaded discourse, but failed on the setup script just as the OP.

I posted more info on the following thread: Discourse installed in UNRAID Ubuntu Server VM behind NPM reverse proxy not resolving hostname

I feel as though it has gone stale, or at least no true resolution has been met. Any help would be gratefully appreciated.

If you want to use Nginx Proxy Manager you’ll need to configure your app.yml by hand. You can either turn off your proxy long enough to let discourse-setup run the first them (you’ll still have to change some things by hand) or copy from samples/standalone.yml.

yes, from my understanding the yml files populate after discourse-settup runs and completes. in order to achieve this, maby i can direct WAN traffic on my firewall to my UbuntuVM I am installing discourse on, then after its setup, switch my traffic back to the reverse proxy then configure my app.yml file.

I forgot this. You can use the --skip-connection-test switch to have it skip that test and run. You’ll still need to edit the ports by hand, but it’ll let you use the script to create the file and enter your SMTP credentials.

2 Likes

this information is gold. Im going to give this a shot and if all goes well i will report back to this thread! thanks again!

1 Like