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

puppeth network configuration #15559

Closed
4000D opened this issue Nov 27, 2017 · 2 comments
Closed

puppeth network configuration #15559

4000D opened this issue Nov 27, 2017 · 2 comments

Comments

@4000D
Copy link
Contributor

4000D commented Nov 27, 2017

Hi. I'm trying to follow puppeth demo of devcon3 on my machine.
I could deploy my own private network using puppeth with limited configuration options.

  1. Components can't communication when the remote machine address is localhost. They can't find each other with the address.

  2. So I used internal ip address for the remote machine.. In this case, reverse proxy doesn't work correctly. Only one component for web service is correctly working with reverse proxy. Deploying other web component makes previous one disable.

  3. Finally, Using internal ip, without reverse proxy, all component is deployed correctly. But Dashboard doesn't show the other web component from outside of the network. Just have to access directly the web component.

How should I configure the network to deploy all components correctly with reverse proxy and to make those accessible from outside of the network?

@karalabe
Copy link
Member

  1. Localhost probably won't work because nodes use the IP addresses you provide to reach each other. So if you use localhost, the docker containers will try to connect to themselves instead of remote nodes. We should probably explicitly forbid localost/127.0.0.1. It didn't occur to me that this would backfire btw.

  2. A reverse proxy by design can only work properly with domain names. If you run multiple web services on port 80 for example, the reverse proxy needs to figure out which backend service to forward your request to. From the outside the proxy only sees "I want to access <host>:<port>". If the requests look like: "I want to request stats.devcon.network:80" or "I want to request faucet.devcon.network:80", then they can decide what to forward too. However if you are using an IP Address, then both services will have the same <host>:<port> so the proxy won't be able to forward. This isn't a puppeth limitation, rather how all reverse proxies work. Puppeth wise maybe we could try to detect this and make it clearer that it's a problematic use case.

  3. I think we've received a report that the dasboard doens't play around with IP addresses directly nicely. That probably is easy to fix, just someone needs to take a peek: Make puppeth play nice with domainless setups #15472

@stale
Copy link

stale bot commented Nov 28, 2018

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot closed this as completed Jan 20, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants