diff --git a/configs/http.conf.sample b/configs/http.conf.sample
index 7ee1de9a522f2a8bb2533bf00abfb28f1c7ea795..cf5224f10afadfc8d24d324abcb0422a960ffb2f 100644
--- a/configs/http.conf.sample
+++ b/configs/http.conf.sample
@@ -28,10 +28,13 @@ bindaddr=127.0.0.1
 ;
 ;prefix=asterisk
 
-; HTTPS support: you need to enable it, define the port to use,
+; HTTPS support. In addition to enabled=yes, you need to
+; explicitly enable ssl, define the port to use,
 ; and have a certificate somewhere.
 ; sslenable=yes		; enable ssl - default no.
 ; sslbindport=4433	; port to use - default is 8089
+; sslbindaddr=0.0.0.0	; address to bind to - default is bindaddr.
+;
 ; sslcert=/tmp/foo.pem	; path to the certificate
 ;
 ; To produce a certificate you can e.g. use openssl
diff --git a/main/http.c b/main/http.c
index da8c3afdb7901ca5129f5d1cc8c9615149fa3f11..96cb8d15362febbdd96ad3c52374cdfac20baff2 100644
--- a/main/http.c
+++ b/main/http.c
@@ -824,6 +824,7 @@ static int __ast_http_load(int reload)
 	struct hostent *hp;
 	struct ast_hostent ahp;
 	char newprefix[MAX_PREFIX];
+	int have_sslbindaddr = 0;
 
 	/* default values */
 	memset(&http_desc.sin, 0, sizeof(http_desc.sin));
@@ -862,10 +863,16 @@ static int __ast_http_load(int reload)
 				newenablestatic = ast_true(v->value);
 			else if (!strcasecmp(v->name, "bindport"))
 				http_desc.sin.sin_port = htons(atoi(v->value));
-			else if (!strcasecmp(v->name, "bindaddr")) {
+			else if (!strcasecmp(v->name, "sslbindaddr")) {
 				if ((hp = ast_gethostbyname(v->value, &ahp))) {
-					memcpy(&http_desc.sin.sin_addr, hp->h_addr, sizeof(http_desc.sin.sin_addr));
 					memcpy(&https_desc.sin.sin_addr, hp->h_addr, sizeof(https_desc.sin.sin_addr));
+					have_sslbindaddr = 1;
+				} else {
+					ast_log(LOG_WARNING, "Invalid bind address '%s'\n", v->value);
+				}
+			} else if (!strcasecmp(v->name, "bindaddr")) {
+				if ((hp = ast_gethostbyname(v->value, &ahp))) {
+					memcpy(&http_desc.sin.sin_addr, hp->h_addr, sizeof(http_desc.sin.sin_addr));
 				} else {
 					ast_log(LOG_WARNING, "Invalid bind address '%s'\n", v->value);
 				}
@@ -882,6 +889,8 @@ static int __ast_http_load(int reload)
 		}
 		ast_config_destroy(cfg);
 	}
+	if (!have_sslbindaddr)
+		https_desc.sin.sin_addr = http_desc.sin.sin_addr;
 	if (enabled)
 		http_desc.sin.sin_family = https_desc.sin.sin_family = AF_INET;
 	if (strcmp(prefix, newprefix))