Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

404 when accessing subdomain created by local tunnel client #198

Open
anthonyeric-son opened this issue Jul 5, 2023 · 2 comments
Open

Comments

@anthonyeric-son
Copy link

SETUP

I have my own copy of the tunnel server running on a cloud server (vultr.com).
I already have a wildcard domain assigned to the cloud server (e.g. *.mydomain.com).

The Localtunnel server is running with the following parameters:

node -r esm bin/server.js --port 1234 --domain test.mydomain.com
localtunnel server listening on port: 1234 +0ms

I am able to confirm the server is accessible via the domain name:

curl http://test.mydomain.com:1234
Redirecting to https://localtunnel.github.io/www/.
curl http://test.mydomain.com:1234/api/status
{"tunnels":0,"mem":{"rss":50446336,"heapTotal":13225984,"heapUsed":10797176,"external":3097584,"arrayBuffers":982138}}

NOTE: The "mydomain" is not the real domain. Not sure if I'm at liberty to give out the real domain name. But for the sake of describing my problem, I think it should suffice.

On my local machine, I run the localtunnel client with the following parameters:

node bin/lt.js -p 8181 -h http://test.mydomain.com:1234 -s device
your url is: http://device.test.mydomain.com:1234

On the server side, the console log is updated:

node -r esm bin/server.js --port 1234 --domain test.mydomain.com
localtunnel server listening on port: 1234 +0ms
localtunnel:server making new client with id device +0ms

Also, on my local machine, I have a simple http server running on port 8181

PROBLEM

When I try to access the simple http server using the url, generated by the localtunnel client, i.e.:

curl http://device.test.mydomain.com:1234

I get a 404 response.

QUESTION

Are there any other settings I need to do on the cloud server to get this working?
Perhaps there are some parameters I missed?

I tested using your default server:

node bin/lt.js -p 8181 -s device
your url is: https://device.loca.lt

And this one works without any probelms.

Thanks.

@anthonyeric-son anthonyeric-son changed the title 404 when accessing 404 when accessing subdomain created by local tunnel client Jul 5, 2023
@anthonyeric-son
Copy link
Author

WAIT! I think I found the culprit.

When I ran the Localtunnel server with DEBUG=* option, I saw that it was also creating a new listening server with a dynamic TCP port after my local tunnel connects:

localtunnel:server making new client with id device +0ms
lt:TunnelAgent[device] tcp server listening on port: 42071 +0ms <-------
lt:ClientManager removing client: device +0ms
lt:TunnelAgent[device] closed tcp socket +1s
lt:TunnelAgent[device] closed tcp socket +0ms

But on the cloud server, I only opened the port 1234 in ufw.

When I disabled ufw, everything started working!
I'll continue playing around

@yashwanth2714
Copy link

@anthonyeric-son I'm experiencing a similar issue with AWS. I use EC2 for the server and Route 53 for DNS records, which are directed to the ALB with ACM for HTTPS. Sub-domains function properly when using the EC2 instance's IP address, but encounter issues when utilizing the ALB for HTTPS support. Security Group rules permit traffic from all sources. I would appreciate any assistance. I have been unable to resolve this for 10 days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants