ansible-role-nginx/README.md
2019-05-21 20:09:44 +02:00

1.8 KiB

Nginx

Supported

Only Nginx 1.10.3 and Debian Stretch.

Other versions might work but are not tested.

Parameters and defaults

DNS resolver have to be defined in the resolver array. Defaults:

resolver:
  - 8.8.8.8
  - 8.8.4.4

All other configuration is to be placed inside the nginx dict.

# name: *upstreamconfig*, see below for definition
upstreams: {}

# name: *vhostconfig*, see below for definition
vhosts: {}

# force all traffic on ssl, except letsencrypt challenges
force_ssl: True

# install php-fpm, setup a php-handler upstream and copy a php location snippet to include in configs
# either "False", "True" or a dict *phpconfig*, see below for definition
php: False

# dict of ips to accept "X-Forwarded-~" from
real_ip_from: {"127.0.0.1": {}, "::1": {}}

upstreamconfig:

# array of upstream servers
server: 
  -
    # can be "unix:/path/to/socket" or "foo.bar" or "foo.bar:443"
    address: *mandatory*

    # monitor dns for changes
    resolve: true

vhosts:

# array of server names, example: foo.bar
servername: []

# set this server as default
default_server: False

listen:
	ssl: True
	ssl_port: 443
	nossl: False
	nossl_port: 80

# example: "https://upstream". If set to None no reverse proxy will be set up.
backend: None

# sets ssl certs to letsencrypt paths and enable letsencrypt for this vhost
letsencrypt: False

# Array of custom config strings to add to the vhost config, the ";" is added after every entry
custom: []

# array of locations, see below
locations: [*locationconfig*, .. ]

locationconfig:

# a match definition, for example "/", see nginx docu: https://nginx.org/en/docs/http/ngx_http_core_module.html#location
match: ''

# an absolut unix path, only set if not none
alias: None

phpconfog:

ini:
	post_max_size: 64M
	upload_max_filesize: 64M