summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--interface-definitions/https.xml12
-rwxr-xr-xsrc/conf_mode/https.py6
2 files changed, 17 insertions, 1 deletions
diff --git a/interface-definitions/https.xml b/interface-definitions/https.xml
index 403d4ecb0..d9874a1f9 100644
--- a/interface-definitions/https.xml
+++ b/interface-definitions/https.xml
@@ -31,6 +31,18 @@
</constraint>
</properties>
<children>
+ <leafNode name='listen-port'>
+ <properties>
+ <help>Port to listen for HTTPS requests; default 443</help>
+ <valueHelp>
+ <format>1-65535</format>
+ <description>Numeric IP port</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+ </leafNode>
<leafNode name="server-name">
<properties>
<help>Server names: exact, wildcard, regex, or '_' (any)</help>
diff --git a/src/conf_mode/https.py b/src/conf_mode/https.py
index d7fcb74de..fbd351e45 100755
--- a/src/conf_mode/https.py
+++ b/src/conf_mode/https.py
@@ -49,7 +49,7 @@ server {
listen 443 ssl;
listen [::]:443 ssl;
{% else %}
- listen {{ server.address }}:443 ssl;
+ listen {{ server.address }}:{{ server.port }} ssl;
{% endif %}
{% for name in server.name %}
@@ -107,7 +107,11 @@ def get_config():
if conf.exists('listen-address'):
for addr in conf.list_nodes('listen-address'):
server_block = {'address' : addr}
+ server_block['port'] = '443'
server_block['name'] = ['_']
+ if conf.exists('listen-address {0} listen-port'.format(addr)):
+ port = conf.return_value('listen-address {0} listen-port'.format(addr))
+ server_block['port'] = port
if conf.exists('listen-address {0} server-name'.format(addr)):
names = conf.return_values('listen-address {0} server-name'.format(addr))
server_block['name'] = names[:]