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

How to access from external network (Local Dev Cluster)? #373

Open
clintsinger opened this issue Jul 7, 2019 · 3 comments
Open

How to access from external network (Local Dev Cluster)? #373

clintsinger opened this issue Jul 7, 2019 · 3 comments

Comments

@clintsinger
Copy link

clintsinger commented Jul 7, 2019

I have a mesh application with a couple services, two HTTP, one UDP exposing two ports and one service without exposed network access.

I am able to access the containers that are exposing their ports on the local machine that is hosting docker but would now like to expose them outside of the machine. This is where I am now stuck. I see that the Parameters.yaml appears to expose the "ingress ports" as 8080, 8081, etc. so I thought that is what I would use to access the containers externally. It seems if I try those ports (8080, 8081) on the local machine or externally I am unable to access the service.

I have tried the following scenarios (some of them I didn't expect to work but tried anyways)

On the local hosting machine:

  1. Resolve containers by DNS name - Works
  2. Access the HTTP services by container IP and local port (10.128.0.*:80) - Works
  3. Send and receive to/from the UDP service (on port 90 and 91 which are both exposed by the service) by container IP (10.128.0.*) - Works
  4. http://localhost:8080 - Doesn't work
  5. http://[machine-name]:8080 - Doesn't work
  6. http://[container-dns-name]:8080 - Doesn't work

From a remote machine on the same network (with and without the hosting machines firewall enabled)

  1. Resolve containers by DNS name - Doesn't work (didn't expect it to)
  2. Access the container by container IP - Doesn't work (didn't expect it to since it is non-routable)
  3. http://[host-machine-ip-address]:8080 - Doesn't work
  4. http://[host-machine-name]:8080 - Doesn't work

I did do a netstat -aon on the host machine to see who was listening on the various ports and I would have expected the 8080, 8081 ports to show up there but they are not available so I am not surprised that I can't access them.

I thought that the purpose of the Gateway was to expose the containers to the outside world by acting as a reverse proxy? Is there something else I need to configure to get this to work as it is pretty difficult to do development and testing if I can't get real world testing done. Specifically, the UDP data is from IoT equipment from outside my LAN that I have directed to the host machine via NAT routing rules. I just need to know where to direct it.

I should point out that I have read the Service Fabric Mesh documentation repeatedly looking for what I may have missed but it is either not in there or not clear as to what I should do.

Cheers,
Clint

@clintsinger clintsinger changed the title How to access from external network? How to access from external network (Local Dev Cluster)? Jul 7, 2019
@suhuruli
Copy link

Hey Clint! What is the Docker networking mode you running on?

@boppbo
Copy link

boppbo commented Aug 30, 2019

related #350

@clintsinger
Copy link
Author

I have moved away from testing this due to it being a blocking issue for the time being.

I believe I am just using the default bridge mode if that is the question that is being asked.

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

3 participants