I tried to get a public URL for my tunnel using Ngrok
I installed and extracted Ngrok with my authenication token
In order to make a local tunnel I made a server in my web application directory using the "http-server" command in Command promt using nodeJs ( it gives port 8080 by defualt)
I opend another terminal and entered "ngork http 8080" command. It gave me the URL for port 8080 but when i ran the URL on chrome it says "site can't be reached"
what's the issue?
Related
I setup remove development with PhpStorm - works fine. But how can I connect to the website provided with remote machine?
Is it possible to make some proxy / tunnel or something ?
On the remote host I have docker containers that provide hosts like http://myapp.demo.
i see in /etc/hosts on remote i have
172.25.0.3 myapp.demo
so its local subnetwork for remote.
When i create proxy its not accessible for local.
Also i try ssh connection with -X forward and try run browser example firefox but get
X11 connection rejected because of wrong authentication.
X11 connection rejected because of wrong authentication.
Error: cannot open display: localhost:10.0
So remote desktop like vnc only way ?
Since 2022.3, you can forward ports in Backend Status Details:
Is it possible to make a serverless Icecast server?
I'm trying to make an internet radio with Icecast on Google's serverless Cloud Run platform. I've put this docker image in Containter Registry and then created a Cloud Run service with default Icecast port 8000. It all seems to work when visiting Cloud Run's provided URL. Using it I can get to the default Icecast and admin pages.
The problem is trying to connect to the server with a source client (tried using mixxx and butt). I think the problem is with ports since setting the port to 8000 on mixxx gives: Socket is busy error while butt just simply doesn't connect. Setting the port to 443 on mixxx gives: Socket error while butt: connect: server answered with 411!
Tried to do the same thing with Compute Engine but just installing Icecast and not a docker image and everything works as intended. As I understand Cloud Run provides a URL for the container (https://example.app) with given port on setup (for Icecast 8000) but source client tries to connect to that URL with its provided port (http://example.app:SOURCE_CLIENT_PORT). So not sure if there's a problem with HTTPS or just need to configure the ports differently.
With Cloud Run you can expose only 1 port externally. By default it's the 8080 port but you can override this when you deploy your revision.
This port is wrapped and behind a front layer on Google Cloud infrastructure, named Google Front End, and exposed with a DNS (*.run.app) on the port 443 (HTTPS).
Thus, you can reach your service only on the exposed port via port 443 wrapping. Any other port will fail.
With Compute Engine, you don't have this limitation, and that's why you haven't issues. Simply open the correct port with firewall rules and enjoy.
I just using AWS, EC2.
and I run server but I cannot access localhost:3000.
I tried
rails server -b0.0.0.0
rails server -b(AWS public host)
how can I access to server...??
enter image description here
Yes rails server -b 0.0.0.0 is correct, you should be able to access it from the outside on port 3000 if your AWS environment is set up correctly (hint, check firewalls etc),
on the other hand, why would you use port 3000 to access an AWS hosted web service from the outside is a completely different matter
On your screenshot, you are not trying to reach "localhost" but your public IP. Can you try http://localhost:3000 while running rails server -b 0.0.0.0?
To access your public IP, I assume that your machine is accessible publicaly on port 22 since you ssh'd in it. So just make sure that you have opened your security group on port 3000 (and also that you don't have any DENY ACL on your subnet, but this should be OK by default if you didn't touch the ACL rules).
My home server is running on Raspberry Pi with Rasbian (Debian for ARM)
There rails server is running: rvmsudo rails s -b ${LOCAL_IP} -p 80
It works perfectly fine to access from local machines, but it is not working when I am trying to access from outside of my local network
It should not be a router problem as I can easily access that server over ssh (both :22 and :80 are open in router preferences)
If you can access http via your local network ip, then it can be issue with router, look to port forwarding settings of DMZ.
BTW, router can use 80 port for its own purposes, like web interface. Try to bind to 8080 port for example.
As an alternative to share 80 port via internet you can use https://ngrok.com/
It allows you to share localhost http to anyone.
I'm trying to integrate the Twilio API into my Rails app. The tutorial I found suggested using ngrok to put my app on the internet (rather than working on localhost). I've installed and upnzipped ngrok, and when I try to call it from the directory it is in, I get:
-bash: ngrok: command not found.
Does anyone know what my problem might be? Also could anyone explain what ngrok does vs deploying to heroku? If heroku would work the same, I would just do that. I'm new to using APIs, though, so I'm not clear on why I'm using ngrok.
Thanks!
If the binary is not located in one of the folders stored in the environment variable $PATH you have to provide at least a relative path to your current location. So if you are in the same folder as the binary then you have to call it with ./ngrok
To access from any directory I had to move the binary to $PATH
mv ngrok /usr/local/bin
in order to call executable from everywhere.
UPDATE: brew install ngrok no longer works because:
Error: No available formula with the name "ngrok"
Upstream sunsetted 1.x in March 2016 and 2.x is not open-source.
So you'll need to download binary from https://ngrok.com/download
As for question "What does ngrok do vs Heroku?", ngrok is totally different than Heroku, which is more complex. Ngrok allows you to expose a running local server over the internet using a secure tunnel. Heroku is a cloud hosting platform for web applications. To use ngrok you can just run your local server and expose it via ngrok. Anyone who connects via ngrok to your server is actually communicating to a server running you YOUR local machine. With Heroku, your application is running on hosted virtual machines in the cloud. That is an oversimplification, but in short, NGROk is good for very fast testing of your server by some remote users. It can also be useful for transferring files / data etc. from inside a virtualized environment i.e. a cloud ssh session.
Below Trick did the work for me
I have downloaded the ngrok from below site :
https://ngrok.com/download
unzip the folder and put the ngrok file with extention (Unix Executable File)inside
/usr/local/bin folder.
the command has changed to: ngrok http 80
Examples from ngrok:
ngrok http 80 # secure public URL for port 80 web server
ngrok http -subdomain=baz 8080 # port 8080 available at baz.ngrok.io
ngrok http foo.dev:80 # tunnel to host:port instead of localhost
ngrok tcp 22 # tunnel arbitrary TCP traffic to port 22
ngrok tls -hostname=foo.com 443 # TLS traffic for foo.com to port 443
ngrok start foo bar baz # start tunnels from the configuration file