DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Newsletter
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Trending

  • Part 4: Multi-Agent Orchestration — Pairing Goose With Quarkus Flow State Machines
  • How to Build Your Own AI SRE From Scratch
  • Member Spotlight: Shai Almong
  • New York City Taxi Trips: Putting Neo4j and DuckDB to Work

Draft This article hasn't been published, so readers can't see it.

In moderation This article is waiting for review, so readers can't see it yet.

Deleted This article has been deleted, so readers can't see it.

Using Config Files With ngrok

Want to learn more about using ngork? Check out this tutorial on how to use config files with ngork for testing locally on your applications.

By 
Lorna Mitchell
·
Aug. 14, 18 · Tutorial
Post on X (opens in a new tab) Share on LinkedIn (opens in a new tab)
15.4K Views

Join the DZone community Save articles, join the discussion, and download Refcards and Trend Reports with a free account.

Join for free Already a member? Log in

I'm a huge fan of ngrok. Ngrok is a tool that can create a secure tunnel to your laptop. It is brilliant for testing, well, anything running locally. Someone asked me about my setup recently, and I'm using a couple of config files to keep things quick and consistent, so I thought I'd share here what I shared with them.

You can use a central config file for ngrok and/or specific config files for each project. I use both, so I'll demonstrate my setup.

Main Config File

The main config file for ngrok is probably the right place for most settings. When you log in, your auth token is stored here. I also have my region set to eu since that's where my servers and I are normally located; the default value here is us.

Also, in this config file, I have two tunnels defined:

authtoken: Redacted
region: eu

tunnels:
    ljnexmo:
        proto: http
        addr: 8080
        hostname: ljnexmo.eu.ngrok.io
    test:
        proto: http
        addr: 8080
        subdomain: f85c1a3f


I do have tunnels configured here, but I don't always use these with ngrok. I work in multiple server-side languages and their "usual" port numbers all differ, so I'm as likely to start a tunnel with ngrok http --subdomain=f85c1a3f 3000. The tunnel configs are very handy, especially for a setup that needs more settings than these or that you will need to use over and over.

A great example of a tunnel that I've used a lot is one used in my book, PHP Web Services. Ngrok config files can only be in one region or another, so I used a separate config file for this, which lives in the same directory as the code examples. It looks like this:

region: us

tunnels:
    phpwebservices:
        proto: http
        addr: 8080
        subdomain: 29baf15


In real life, using a per-project config like this is super helpful. It keeps things together, especially if different projects want to take advantage of different regions.

To use this tunnel, my command looks like this:

ngrok start --config=ngrok-phpws.yml phpwebservices


I do tend to reserve the domains I'm using since I have a paid account with ngrok. You can see a few places where I started using a domain and then realized I'd better reserve it!

Pro-tip: Even without a paid account, you can request a specific subdomain when starting your tunnel. If it's available then, you can use it. This is super helpful when restarting tunnels during a project — it saves time updating URLs everywhere!

Related Posts

  • PHP Web Services: 2nd Edition
  • Test Incoming Webhooks Locally with Ngrok
  • Use Ngrok Dashboard from VM

Published at DZone with permission of Lorna Mitchell. See the original article here.

Opinions expressed by DZone contributors are their own.

Partner Resources

×

Comments

Loading comments

The comments didn't load

Please try again in a moment.

Likes

Loading

The next likes didn't load. Please try again.

The likes didn't load

Please try again in a moment.

See who liked this

Log in or join DZone for free to see who liked this article.

Log in Join for free
  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook