Skip to main content

How to Share Your Local Development Server with Clients Using ngrok

During the development process, it's often necessary to showcase the progress made on a local development server to clients or stakeholders. However, local servers are typically only accessible on your machine or local network. In this blog post, we'll explore how you can use ngrok to share your local development server with clients for easy testing and feedback.

Step 1: Install ngrok

Ngrok is a powerful tool that creates a secure tunnel to expose your local server to the internet. To get started, head over to the ngrok website and sign up for a free account. Once signed in, download and install ngrok for your operating system.

Step 2: Start Your Local Development Server

Before using ngrok, make sure your local development server is up and running on the desired port. For example, if you're using Node.js and Express, you might have a server listening on port 3000.


    const express = require('express');
    const app = express();
    const port = 3000;

    // Your server code here...

    app.listen(port, () => {
      console.log(`Server running at http://localhost:${port}`);
    });
  

Step 3: Expose Your Local Server Using ngrok

Open a terminal or command prompt and navigate to the directory where you installed ngrok. Run the following command to expose your local server:


    ngrok http 3000
  

Ngrok will generate a unique forwarding URL for your server. It will display the forwarding URL in the terminal, typically starting with "http://*.ngrok.io". Clients can access your local server by visiting this URL.

Step 4: Share the ngrok URL with Clients

Now that your local server is exposed, you can share the ngrok URL with your clients or stakeholders. They can open the URL in their web browser to access your local development server. Keep in mind that ngrok URLs are temporary and will change every time you restart ngrok or your computer.

Conclusion

Ngrok is an excellent tool for sharing your local development server with clients. It provides a secure and convenient way to demonstrate your work in progress and gather feedback. By following the steps outlined in this blog post, you can easily share your local server using ngrok and streamline your development workflow.

Comments

Popular posts from this blog

JSP page directives

A jsp page directive looks like this: <%@ directive attribute="value" %> I am not gonna explain each and every page directives here . I would like to discuss about two page directives  which is import and include. First of all consider the import directive . The following simple program illustrate the use of import page directive: The output would be something looks like this: <%@ page language="java" contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%>  <%@ page import="java.util.Date" %>   //page directive <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Jsp Basics</title> </head> <body> <%=new Date() %> </body> </html> Tue Nov 12 17:42:34 I...

a simple example for jdbc PreparedStatement

a simple example for PreparedStatement package basics.in.java.blogspot.in; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Main { private static final String USERNAME="root"; private static final String PASSWORD=""; private static final String CONN_STRING="jdbc:mysql://localhost/basicsinjavablogspot"; public static void main(String[] args) throws ClassNotFoundException, SQLException { Class.forName("com.mysql.jdbc.Driver"); Connection conn=null; Statement stmt=null; ResultSet rs=null; try { conn= DriverManager.getConnection(CONN_STRING, USERNAME, PASSWORD); System.out.println("database connection successful"); //stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); String sql="select * fr...