Ngrok for local network - ngrok

Trying to share my local web server with only computers connected to our internal network.
If I run ngrok http 192.168.10.10:80 it loads and is public.
I thought running it without http might work but all i get is an unrecognizable command error.
Ideas?

In this case, you don't need to use ngrok while your local web server is connected with the computers in your internal network.
You can access your Web Server via the other computers using its local IP address.

Related

Accessing a local website from another computer inside the local network in IIS 10

On my computer I have deployed my web site on IIS. If I access this website locally with :8080 works perfect, but when I try to access this site from another machine or my Android phone I get 'The site can't be reached. my_ip_address took too long to respond ERR_CONNECTION_TIMED_OUT –' this error.
I have tried solutions from this question, but nothing worked for me. Need some help!
There are few factors which can affect the accessibility of the site hosted on your local computer:
Is the client machine (including your phone) in the same network as the Server (In this case your site)
Is the firewall configured to allow connections on port 8080
Have you tried accessing the server using the IP Address. For e.g. http://192.168.0.1:port
Steps to isolate
Ping the server Ip from the client machine and see if it is able to connect to it.
ping 192.168.0.1
If the above fails, then I would assume that you are not on the same network. If it succeeds then check if the port is open.
You can also use nmap to see whether the ports are open or not
nmap -p 8080 kaushal.com
If the above fails, then open the port in your Firewall configuration and then try again.
Try this and share the results.

Routing external calls to api with out a domain name

I have a client that does api calls to a owin server. When calling e.g. http://192.168.345.13:8000/api/status it works fine when doing this from a local machine on the same LAN as the server.
When using the same aurelia client from a remote machine e.g. a 4g smartphone then the client code is shown but the api calls don't work. My router forwards the port to the server machine so external ip a.b.c.d:8000 routes to the server.
This is ofcourse because the client has hardcode : http://192.168.345.13:8000/api/status.
My question is how do i support both local and remote via the same API? Can i detect this in the client code?
Can i detect a remote ip and switch to external ip (a.b.c.d:8000/api/status)?
Any sugestions are welcome!
Turns out that had some old ip filtering on. After disabeling this it works now. Using the external ip for the server the server ip calls.
When on the local network i use the local machine ip in the browser and when accesing from e.g. 4g Phone then i use the external ip.

Can I allow access to a site available only on LAN to another user connected to my computer?

So I know I can use ngrok to project a website I host on localhost to be available publicly. Can I do the same for another site, which is only available in the local network, but not hosted on my machine?
For example, there is a website hosted on http://testing.stackoverflow.com, which is a version of the website that's only available to people connected to the internal wifi, but I want to so my customer a new feature that's only available on that website, without making it available to everyone. The customer can only access it while somehow connected to my machine. Can ngrok or a similar tool do this?
You can use ngrok to expose any host, accessible to you, to the internet. See https://ngrok.com/docs#non-local.
You have already used ngrok to tunnel traffic between internet and your localhost. Similarly, if you want to expose a web server in your LAN, say 192.168.22.22, just execute ngrok http 192.168.22.22:80, instead of ngrok http 80.

Cannot access chef-server web interface. (No route to host)

I have got chef-server installed on a centos machine.
Everything is working as expected except that I cannot access the chef-server web interface from another machine on my local network.
I can access the web interface from the centos machine itself:
telnet mychefserver.local 4000
Connected
If I do the same from my machine I have got:
telnet: Unable to connect to remote host: No route to host
I can successfully ping mychefserver.local from my machine
Any idea how to configure nginx with chef-server to access the chef-server from the network?
Since Chef Server 10, the web interface uses normal HTTPS (TCP 443), it only listens on the high ports locally, and nginx proxies as needed to the different backend services. I would try with a normal web browser as telnet isn't exactly great at error messages. Normally I would expect that to mean telnet is getting TCP transmission errors, but maybe it is just confused? If it is really a TCP transmit error then more likely the internal DNS is having issues. .local often means mDNS which has uneven support in some places, I would try an actual IP address to be sure.
My issue was iptables.
I stopped iptables and I can access the chef-server from my local network again.

Send HTTP POST to API server running on localhost from another PC

My web server is running on localhost (127.0.0.1:8800) and I would like to send HTTP posts from another machine to that server.
Does anyone know how I will be able to access the server from the outside? (I did a SSL port forwarding from the external address to localhost, but it is a kind of hack and some aspects do not working properly, e.g. web socket does not detect traffic that's been forwarded)
127.0.0.1 is the loopback address of your network card. Only your computer can access that. 127.0.0.1 on any other computer will be that other computer.
You will have to run your server on your internal ip-address (if you're doing this in an internal network). It will probably look something like 192.168.0.x. If you're instead connecting to the computer using the internet you will of course have to bind the server to the external ip-address.
You can find your internal ip-address on Windows by opening cmd.exe and typing ipconfig. On OSX or Linux/BSD you run ifconfig in a terminal.

Resources