Ngrok timeout error

I’ve just deployed my Confluence addon on AWS Elastic Beanstalk, and we’ve been using it internally. However, every 24 hours we get an error saying that ngrok has timed out, and I need to sign up for an account.

Is there a way to configure my addon so that I don’t need to authenticate ngrok, or do I have to add my authtoken to my host server?

Here’s the error message:

This tunnel expired 2 days, 11 hours, 26 minutes ago.

Sign up for a free account so that your tunnels don't time out or you can restart ngrok to get a new tunnel.

Anybody can use ngrok without an account, but there are limits on how long tunnels can stay open and how much bandwidth they can process. Sign up for a free account so your tunnel don't time out and also get more bandwidth, http basic auth, tcp tunnels, custom subdomains and more.

The error encountered was: ERR_NGROK_708

Hi @athompson. ngrok is a tool you use on your local machine when developing to make it possible to test without having to deploy a change every time.

ngrok exposes your localhost at a certain port to the outside world. Just a simple dns lookup for your machine.

With that said when you deploy your app you should not be using ngrok. Your server you are deploying to should already be publicly available to the web and thus Confluence should be able to see your app when running.

If you’re using Atlassian Connect Express make sure you have your config set up for production. There is a whole area for production config at the bottom. Also you’ll want to make sure that you don’t have an Environment Variable set to development. See the config comments for more info on that.

Let me know if that helps.

Hi @rwhitbeck , thanks for your reply,

I am using ACE, so I must not have set up the config properly. Would you be able to point me to the production config documentation—I’m not sure I can find it.

I’ve just set NODE_ENV to production on my server, per the ACE Readme. I’m sure there’s more setup I’m missing, however.


Following up, even though I set NODE_ENV = production on my server, I still got the ngrok timeout error 8 hours later.

EDIT: I also had a script which autogenerated the credentials.json file on the server. After removing that json file, the baseUrl on prod. seems to be correct.

Yeah I meant to mention the credentials.json file as well. You don’t need that on production. That is used to make the development journey easier. When you have that your app will autoinstall when you run it in the server specified in credentials.json which will try to run ngrok.