Strumenti Utente

Strumenti Sito


howto:pfsesnse_-_aggiungere_un_dominio

Aggiungere un sotto-dominio a lilik.it

Ansible automagic

Basta aggiungere il ruolo reverse_proxy al playbook che vogliamo usare

playbook.yaml
- hosts: biff
  roles:
    - lxc_guest
      name: mia_vm
- hosts: mia_vm
  roles:
    - reverse_proxy
    - altro_ruolo

In questo modo Ansible fa il login su gandalf, il nostro firewall e reverse-proxy, e aggiunge 3 file alla configurazione di Nginx.

La variabile hostname è di default il valore ansible_hostname ma può essere specificata così

...
- hosts: mia_vm
  roles:
    - reverse_proxy
      hostname: pippo
    - altro_ruolo

La variabile public_ip viene specificata nelle group_vars

http

Questo file viene aggiunto nella cartella /etc/nginx/http.conf.d

server {
    listen {{ public_ip }}:80;
 
    server_name {{ hostname }}.lilik.it www.{{ hostname }}.lilik.it;
 
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_set_header X-NginX-Proxy true;
 
    location / {
        proxy_pass http://{{ hostvars[ansible_hostname]['ansible_host'] }};
    }
}

upstream

Questo file viene aggiunto nella cartella /etc/nginx/upstream.conf.d e definisce una variabile che associa ad un hostname un indirizzo sulla rete del Lilik.

È possibile estendere questa configurazione con più server che verranno utilizzati alternativamente.

upstream {{ hostname }}_https {
    server {{ hostvars[ansible_hostname]['ansible_host'] }}:443;
}

map

Questo file viene aggiunto nella cartella /etc/nginx/map.conf.d per associare ad un dominio una variabile che contiene un indirizzo ip.

Usiamo una variabile invece che un ip per poter cambiare quanti/quali server verranno usati per il servizio.

{{ hostname }}.lilik.it {{ hostname }}_https;
www.{{ hostname }}.lilik.it {{ hostname }}_https;
howto/pfsesnse_-_aggiungere_un_dominio.txt · Ultima modifica: 2017/04/22 15:51 da edoput