Commit d3aedbeb authored by Nimi Wariboko Jr's avatar Nimi Wariboko Jr

core: add bindaddr directive, allowing you to specify what address to listen on

parent 2dbd14b6
......@@ -43,6 +43,7 @@ var directiveOrder = []directive{
// Essential directives that initialize vital configuration settings
{"root", setup.Root},
{"tls", setup.TLS},
{"bindaddr", setup.BindAddr},
// Other directives that don't create HTTP handlers
{"startup", setup.Startup},
......
package setup
import "github.com/mholt/caddy/middleware"
func BindAddr(c *Controller) (middleware.Middleware, error) {
for c.Next() {
if !c.Args(&c.BindAddress) {
return nil, c.ArgErr()
}
}
return nil, nil
}
......@@ -11,6 +11,9 @@ type Config struct {
// The hostname or IP on which to serve
Host string
// The address to bind on - defaults to Host if empty
BindAddress string
// The port to listen on
Port string
......@@ -44,6 +47,9 @@ type Config struct {
// Address returns the host:port of c as a string.
func (c Config) Address() string {
if c.BindAddress != "" {
return net.JoinHostPort(c.BindAddress, c.Port)
}
return net.JoinHostPort(c.Host, c.Port)
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment