Skip to content

Commit 9a71970

Browse files
authored
Sort listen options by IP and port (#12)
1 parent 0d53e53 commit 9a71970

File tree

3 files changed

+21
-4
lines changed

3 files changed

+21
-4
lines changed

molecule/common/playbooks/default_converge.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,23 @@
7272
port: 80
7373
opts:
7474
- default_server
75+
listen_localhost_https:
76+
ip: 0.0.0.0
77+
port: 443
78+
ssl: false
79+
opts:
80+
- default_server
81+
listen_localhost_ipv6:
82+
ip: "[::]"
83+
port: 80
84+
opts:
85+
- default_server
86+
listen_localhost_ipv6_https:
87+
ip: "[::]"
88+
port: 443
89+
ssl: false
90+
opts:
91+
- default_server
7592
server_name: localhost
7693
http_error_pages:
7794
404: /404.html

templates/http/default.conf.j2

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@ auth_request_set {{ item.value.auth_request_set_http.name }} {{ item.value.auth_
7979
{% if item.value.servers is defined %}
8080
{% for server in item.value.servers %}
8181
server {
82-
{% for listen in item.value.servers[server].listen %}
83-
listen {% if item.value.servers[server].listen[listen].ip is defined and item.value.servers[server].listen[listen].ip | length %}{{ item.value.servers[server].listen[listen].ip }}:{% endif %}{{ item.value.servers[server].listen[listen].port }}{% if item.value.servers[server].listen[listen].ssl is defined and item.value.servers[server].listen[listen].ssl %} ssl{% endif %}{% if item.value.servers[server].listen[listen].opts is defined and item.value.servers[server].listen[listen].opts | length %} {{ item.value.servers[server].listen[listen].opts | join(" ") }}{% endif %};
82+
{% for listen in (item.value.servers[server].listen.values() | rejectattr("ip", "defined") | sort(attribute='port') + item.value.servers[server].listen.values() | rejectattr("ip", "undefined") | sort(attribute='port') | sort(attribute='ip')) %}
83+
listen {% if listen.ip is defined and listen.ip | length %}{{ listen.ip }}:{% endif %}{{ listen.port }}{% if listen.ssl is defined and listen.ssl %} ssl{% endif %}{% if listen.opts is defined and listen.opts | length %} {{ listen.opts | join(" ") }}{% endif %};
8484
{% endfor %}
8585
server_name {{ item.value.servers[server].server_name | default('localhost') }};
8686
{% if item.value.servers[server].ssl is defined and item.value.servers[server].ssl %}

templates/stream/default.conf.j2

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ upstream {{ item.value.upstreams[upstream].name }} {
3333
{% if item.value.network_streams is defined %}
3434
{% for stream in item.value.network_streams %}
3535
server {
36-
{% for listen in item.value.network_streams[stream].listen %}
37-
listen {% if item.value.network_streams[stream].listen[listen].ip is defined and item.value.network_streams[stream].listen[listen].ip | length %}{{ item.value.network_streams[stream].listen[listen].ip }}:{% endif %}{{ item.value.network_streams[stream].listen[listen].port }}{% if item.value.network_streams[stream].listen[listen].ssl is defined and item.value.network_streams[stream].listen[listen].ssl %} ssl{% endif %}{% if item.value.network_streams[stream].listen[listen].opts is defined and item.value.network_streams[stream].listen[listen].opts | length %} {{ item.value.network_streams[stream].listen[listen].opts | join(" ") }}{% endif %};
36+
{% for listen in (item.value.network_streams[stream].listen.values() | rejectattr("ip", "defined") | sort(attribute='port') + item.value.network_streams[stream].listen.values() | rejectattr("ip", "undefined") | sort(attribute='port') | sort(attribute='ip')) %}
37+
listen {% if listen.ip is defined and listen.ip | length %}{{ listen.ip }}:{% endif %}{{ listen.port }}{% if listen.ssl is defined and listen.ssl %} ssl{% endif %}{% if listen.opts is defined and listen.opts | length %} {{ listen.opts | join(" ") }}{% endif %};
3838
{% endfor %}
3939
{% if item.value.network_streams[stream].ssl is defined and item.value.network_streams[stream].ssl %}
4040
ssl_certificate {{ item.value.network_streams[stream].ssl.cert }};

0 commit comments

Comments
 (0)