nginx: refactor role
This commit is contained in:
parent
7ca9b6dc8c
commit
cb60bcb5f8
@ -44,6 +44,19 @@
|
|||||||
mode: 0644
|
mode: 0644
|
||||||
notify: reload nginx
|
notify: reload nginx
|
||||||
|
|
||||||
|
- name: configure htpasswd files
|
||||||
|
ansible.builtin.copy:
|
||||||
|
dest: "{{ nginx_etc_path }}/{{ item.key }}.htpasswd"
|
||||||
|
owner: root
|
||||||
|
group: nginx
|
||||||
|
mode: 0640
|
||||||
|
content: |
|
||||||
|
{% for u, h in item.value.items() %}
|
||||||
|
{{ u }}:{{ h }}
|
||||||
|
{% endfor %}
|
||||||
|
loop: "{{ nginx_htpasswd_files | dict2items }}"
|
||||||
|
notify: reload nginx
|
||||||
|
|
||||||
- name: configure virtual hosts
|
- name: configure virtual hosts
|
||||||
ansible.builtin.include_tasks: vhost.yaml
|
ansible.builtin.include_tasks: vhost.yaml
|
||||||
loop: "{{ nginx_vhosts | dict2items }}"
|
loop: "{{ nginx_vhosts | dict2items }}"
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
block:
|
block:
|
||||||
- name: create webroot
|
- name: create webroot
|
||||||
file:
|
file:
|
||||||
path: "{{ vhost.root }}"
|
path: "{{ server.root }}"
|
||||||
state: directory
|
state: directory
|
||||||
loop: "{{ item.value }}"
|
loop: "{{ item.value.server }}"
|
||||||
loop_control:
|
loop_control:
|
||||||
loop_var: vhost
|
loop_var: server
|
||||||
|
|
||||||
- name: configure virtual host
|
- name: configure virtual host
|
||||||
template:
|
template:
|
||||||
|
@ -1,33 +1,59 @@
|
|||||||
# {{ ansible_managed }}
|
# {{ ansible_managed }}
|
||||||
|
|
||||||
{% for vhost in item.value %}
|
{% if item.value.upstream is defined %}
|
||||||
|
{% for upstream in item.value.upstream %}
|
||||||
|
upstream {{ upstream.name }} {
|
||||||
|
{% for server in upstream.server %}
|
||||||
|
server {{ server }};
|
||||||
|
{% endfor %}
|
||||||
|
}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if item.value.map is defined %}
|
||||||
|
{% for map in item.value.map %}
|
||||||
|
map {{ map.name }} {{ map.variable }} {
|
||||||
|
{% for k, v in map.content.items() %}
|
||||||
|
{% if k is string and k == "" %}
|
||||||
|
"" {{ v }};
|
||||||
|
{% else %}
|
||||||
|
{{ k }} {{ v }};
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% for server in item.value.server %}
|
||||||
server {
|
server {
|
||||||
{% if vhost.listen is defined %}
|
{% if server.listen is defined %}
|
||||||
{% for listen in vhost.listen %}
|
{% for listen in server.listen %}
|
||||||
listen {{ listen }};
|
listen {{ listen }};
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
{% if vhost.server_name is defined %}
|
|
||||||
server_name {{ vhost.server_name }};
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
access_log {{ vhost.access_log | default(nginx_var_log_path + '/' + vhost.server_name + '.access.log main') }};
|
|
||||||
error_log {{ vhost.error_log | default(nginx_var_log_path + '/' + vhost.server_name + '.error.log warn') }};
|
|
||||||
|
|
||||||
{% if vhost.root is defined %}
|
|
||||||
root {{ vhost.root }};
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
index {{ vhost.index | default('index.html index.htm') }};
|
http2 {{ server.http2 | default("on") }};
|
||||||
|
|
||||||
{% if vhost.ssl_certificate is defined %}
|
{% if server.server_name is defined %}
|
||||||
ssl_certificate {{ vhost.ssl_certificate }};
|
server_name {{ server.server_name }};
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if vhost.ssl_certificate_key is defined %}
|
access_log {{ server.access_log | default(nginx_var_log_path + '/' + server.server_name + '.access.log main') }};
|
||||||
ssl_certificate_key {{ vhost.ssl_certificate_key }};
|
error_log {{ server.error_log | default(nginx_var_log_path + '/' + server.server_name + '.error.log warn') }};
|
||||||
|
|
||||||
|
{% if server.root is defined %}
|
||||||
|
root {{ server.root }};
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if vhost.ssl_dhparam is defined %}
|
|
||||||
ssl_dhparam {{ vhost.ssl_dhparam }};
|
index {{ server.index | default('index.html index.htm') }};
|
||||||
|
|
||||||
|
{% if server.ssl_certificate is defined %}
|
||||||
|
ssl_certificate {{ server.ssl_certificate }};
|
||||||
|
{% endif %}
|
||||||
|
{% if server.ssl_certificate_key is defined %}
|
||||||
|
ssl_certificate_key {{ server.ssl_certificate_key }};
|
||||||
|
{% endif %}
|
||||||
|
{% if server.ssl_dhparam is defined %}
|
||||||
|
ssl_dhparam {{ server.ssl_dhparam }};
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
location /.well-known/acme-challenge/ {
|
location /.well-known/acme-challenge/ {
|
||||||
@ -35,8 +61,8 @@ server {
|
|||||||
try_files $uri =404;
|
try_files $uri =404;
|
||||||
}
|
}
|
||||||
|
|
||||||
{% if vhost.raw is defined %}
|
{% if server.raw is defined %}
|
||||||
{{ vhost.raw | indent(4) }}
|
{{ server.raw | indent(4) }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
}
|
}
|
||||||
{% endfor %}
|
{% endfor %}
|
Loading…
Reference in New Issue
Block a user