Skip to content

Comment on HashiCorp Consul 1.2: Service Meshparent

Comments

With nginx, you can do dynamic binding in the free version in at least two ways:

1. If you "just" want to map a hostname, to a private IP, you can assign the hostname to a variable, and use the variable in your backend config. This works because Nginx resolves static addresses at start, but resolves names pulled from variables at runtime.

2. If you need to map ports as well, you can use a Lua or Mruby script. E.g. I have a blog post on doing it with mruby here [1], and it's run production sites for a couple of years. This options lets you integrate against pretty much whatever you want.

It's extra hassle, though, of course.

[1] http://hokstadconsulting.com/nginx/mruby-virtualhosts

For those interested in a lua example, from this article [1], I found & cherry-picked bits from here [2]. The key ingredients (to aid searching) are init_worker_by_lua_block & balancer_by_lua_block.

[1] https://medium.com/@sigil66/dynamic-nginx-upstreams-from-con...

[2] https://github.com/sigil66/nginx-consul-cookbook

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.