Vhost state (closes #19)
parent
634d88874f
commit
34c8d1926f
|
@ -11,8 +11,7 @@ Common
|
|||
- `name`: (M) Domain or list of domain used.
|
||||
- `template`: (D) template used to create vhost. Optional if you set `delete` to true or using `redirect_tor`.
|
||||
- `filename`: (O) Specify filename in /etc/nginx/sites-*. Do NOT specify default (reserved keyword).
|
||||
- `enable`: (O) Enable the vhost (default is true)
|
||||
- `delete`: (O) Delete the vhost (default is false)
|
||||
- `state`: (O) Vhost status. Can be "present" (default), "absent" and "disabled".
|
||||
- `redirect_from`: (O) Domain list to redirect to the first `name`. You can use this key to redirect non-www to www
|
||||
- `redirect_to`: (O) Redirect all requests to this domain. Please set scheme (http:// or https:// or $sheme).
|
||||
- `headers`: (O) Set additionals header as key/value list. You can append "always" to the value. Show [nginx doc](http://nginx.org/en/docs/http/ngx_http_headers_module.html).
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
when: >
|
||||
item.root is not defined and
|
||||
(item.template is defined and item.template not in nginx_templates_no_dir) and
|
||||
(item.delete is not defined or not item.delete) and
|
||||
(item.state is not defined or not item.state != 'absent') and
|
||||
item.redirect_to is not defined
|
||||
|
||||
- name: TEMPLATE | Create vhosts
|
||||
|
@ -45,13 +45,13 @@
|
|||
dest={{ nginx_etc_dir }}/sites-available/{{ item.filename | default(item.name if item.name is string else item.name[0]) }}
|
||||
with_items: "{{ nginx_vhosts }}"
|
||||
notify: ['reload nginx', 'restart nginx freebsd']
|
||||
when: item.delete is not defined or not item.delete
|
||||
when: item.state is not defined or not item.state != 'absent'
|
||||
|
||||
- name: FILE | Delete vhosts
|
||||
file: path={{ nginx_etc_dir }}/sites-available/{{ item.filename | default(item.name if item.name is string else item.name[0]) }} state=absent
|
||||
with_items: "{{ nginx_vhosts }}"
|
||||
notify: ['reload nginx', 'restart nginx freebsd']
|
||||
when: item.delete is defined and item.delete
|
||||
when: item.state is defined and item.state == 'absent'
|
||||
|
||||
- name: FILE | Enable vhosts
|
||||
file: >
|
||||
|
@ -61,15 +61,13 @@
|
|||
with_items: "{{ nginx_vhosts }}"
|
||||
notify: ['reload nginx', 'restart nginx freebsd']
|
||||
when: >
|
||||
((item.enable is not defined) or
|
||||
(item.enable is defined and item.enable)) and
|
||||
(item.delete is not defined or not item.delete)
|
||||
item.state is not defined or item.state == 'present'
|
||||
|
||||
- name: FILE | Disable vhosts
|
||||
file: path={{ nginx_etc_dir}}/sites-enabled/{{ item.filename | default(item.name if item.name is string else item.name[0]) }} state=absent
|
||||
with_items: "{{ nginx_vhosts }}"
|
||||
notify: ['reload nginx', 'restart nginx freebsd']
|
||||
when: (item.enable is defined and not item.enable) or (item.delete is defined and item.delete)
|
||||
when: item.state is defined and item.state == 'disabled'
|
||||
|
||||
- name: FILE | Delete default vhost when explicitely defined
|
||||
file: >
|
||||
|
|
|
@ -165,7 +165,7 @@
|
|||
headers:
|
||||
'X-proxyfied': '1'
|
||||
- name: 'deleted.local'
|
||||
delete: true
|
||||
state: 'absent'
|
||||
- name: 'redirect-to.local'
|
||||
redirect_to: 'http://test.local'
|
||||
- name: 'backuppc.local'
|
||||
|
@ -220,7 +220,7 @@
|
|||
- name: -- VERIFY VHOSTS --
|
||||
command: "curl -H 'Host: {{ item.name if item.name is string else item.name[0] }}' http://127.0.0.1{% if item.listen is defined %}:{{ item.listen[0] }}{% endif %}/"
|
||||
with_items: "{{ nginx_vhosts }}"
|
||||
when: item.delete is undefined or not item.delete
|
||||
when: item.state is undefined or item.state != "absent"
|
||||
changed_when: false
|
||||
- name: -- VERIFY FORBIDDEN --
|
||||
command: "curl -H 'Host: test-php-index.local' http://127.0.0.1/phpinfo.php"
|
||||
|
@ -230,7 +230,7 @@
|
|||
- name: -- VERIFY REDIRECT VHOSTS --
|
||||
command: "curl -H 'Host: {{ item.redirect_from[0] }}' http://127.0.0.1/"
|
||||
with_items: "{{ nginx_vhosts }}"
|
||||
when: item.redirect_from is defined and (item.delete is undefined or not item.delete)
|
||||
when: item.redirect_from is defined and (item.state is undefined or item.state != "absent")
|
||||
changed_when: false
|
||||
register: r
|
||||
failed_when: r.stdout.find('301 Moved Permanently') == -1
|
||||
|
|
Loading…
Reference in New Issue