0
Fork 0
mirror of https://github.com/caddyserver/caddy.git synced 2024-12-23 22:27:38 -05:00

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

This commit is contained in:
Nimi Wariboko Jr 2015-05-04 21:38:49 -07:00
parent 2dbd14b6dc
commit d3aedbeb9a
3 changed files with 19 additions and 0 deletions

View file

@ -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},

12
config/setup/bindaddr.go Normal file
View file

@ -0,0 +1,12 @@
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
}

View file

@ -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)
}