inmotionhosting.nginx_proxy

Pipeline Ansible Molecule Licencja GPL-3.0 Gwiazdki na GitHubie

Ultrastack InMotion Hosting

Rola Ansible: Nginx Proxy

Modularna rola Ansible do wdrażania i konfigurowania Nginx jako reverse proxy.

Wymagania

Ta rola Ansible wspiera dwie najnowsze stabilne wersje określonych dystrybucji systemów Linux skupionych na serwerach i stara się podążać za ich polityką deprecjacji. Dodatkowo będziemy koncentrować się na wspieraniu dwóch najnowszych stabilnych wersji każdej z nich, które w momencie pisania są następujące:

  • CentOS 7.x
  • Debian 11 lub nowszy
  • Ubuntu 20.04 LTS lub nowszy
  • AlmaLinux 8.x lub nowszy
  • RockyLinux 8.x lub nowszy

Zależności

  • community.general
  • ansible.posix

Zmienne roli

Dostępne zmienne są wymienione poniżej wraz z ich domyślnymi wartościami (możesz również zobaczyć defaults/main.yml)

Zmienna Opis
nginx_daemon Domyślnie: nginx
nginx_group Domyślnie: nobody
nginx_name Domyślnie: nginx
nginx_user Domyślnie: nginx
nginx_packages Domyślnie: [nginx]
nginx_pid Domyślnie: /var/run/nginx.pid
nginx_mime_includes Domyślnie: /etc/nginx/mime.types
nginx_module_includes Domyślnie: /usr/share/nginx/modules/*.conf
nginx_proxy_includes Domyślnie: /etc/nginx/proxy.conf
nginx_site_includes Domyślnie: /etc/nginx/conf.d/*.conf
nginx_trusted_proxies_includes Domyślnie: /etc/nginx/trusted_proxies.conf

Podstawowe

Zmienna Opis
nginx_client_body_buffer_size Domyślnie 1m
nginx_client_header_buffer_size Domyślnie 2k
nginx_client_max_body_size Domyślnie 512m

Buforowanie

Zmienna Opis
nginx_cache_convert_head Domyślnie: true
nginx_cache_honor_cc Domyślnie: false
nginx_cache_honor_cookies Domyślnie: true
nginx_cache_honor_expires Domyślnie: false
nginx_cache_inactive Domyślnie: 1h
nginx_cache_name Domyślnie: sitecache
nginx_cache_time_404 Domyślnie: 10
nginx_cache_time_default Domyślnie: 5
nginx_etag Domyślnie: true
nginx_open_file_cache_errors Domyślnie: false
nginx_open_file_cache_inactive Domyślnie: 8m
nginx_open_file_cache_max Domyślnie: 16536
nginx_open_file_cache_min_uses Domyślnie: 1
nginx_open_file_cache_valid Domyślnie: 5m
nginx_ssi Domyślnie: false

Kompresja

Zmienna Opis
nginx_gzip_enabled Domyślnie: true
nginx_gzip_comp_level Domyślnie: 9
nginx_gzip_min_length Domyślnie: 256

Połączenie

Zmienna Opis
nginx_hsts_enable Domyślnie: false
nginx_http2_enable Domyślnie: true
nginx_keepalive_requests Domyślnie: 100
nginx_keepalive_timeout Domyślnie: 30
nginx_multi_accept Domyślnie: true
nginx_reset_timedout_connection Domyślnie: true
nginx_sendfile Domyślnie: true
nginx_tcp_nodelay Domyślnie: false
nginx_tcp_nopush Domyślnie: true

Logowanie

Zmienna Opis
nginx_access_log Domyślnie: /var/log/nginx/access.log
nginx_error_log Domyślnie: /var/log/nginx/error.log
nginx_log_format_main Domyślnie: $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"

Proxy

Zmienna Opis
nginx_proxy_buffers Domyślnie: [4, 32k]
nginx_proxy_buffer_size Domyślnie: 32k
nginx_proxy_busy_buffers_size Domyślnie: 64k
nginx_proxy_cache_key Domyślnie: "$scheme$request_method$host$request_uri"
nginx_proxy_connect_timeout Domyślnie: 90
nginx_proxy_hide_header Domyślnie: ["Upgrade"]
nginx_proxy_read_timeout Domyślnie: 90
nginx_proxy_redirect Domyślnie: false
nginx_proxy_send_timeout Domyślnie: 90

Ograniczenie prędkości

Zmienna Opis
nginx_ratelimit Domyślnie: 8
nginx_ratelimit_burst Domyślnie: 8
nginx_ratelimit_nodelay Domyślnie: true
nginx_ratelimit_zone Domyślnie: rlzone
nginx_ratelimit_paths Domyślnie: [".*login\\.php", ".*xmlrpc\\.php", ".*wp-cron\\.php"]

SSL

Zmienna Opis
nginx_ssl_enable Domyślnie: true
nginx_ssl_ciphers Domyślnie: ["EECDH+AESGCM", "EDH+AESGCM", "AES256+EECDH", "AES256+EDH", "ECDHE-RSA-AES128-GCM-SHA256", "ECDHE-ECDSA-AES128-GCM-SHA256"]
nginx_ssl_protocols Domyślnie: ["TLSv1.2", "TLSv1.3"]
nginx_ssl_session_cache Domyślnie: "shared:SSL:32m"

Statyczne

Zmienna Opis
nginx_static_content_accel Domyślnie: true
nginx_static_content_paths Domyślnie: []

Pracownicy

Zmienna Opis
nginx_worker_connections Domyślnie: 4096
nginx_worker_processes Domyślnie: auto
nginx_worker_rlimit_nofile Domyślnie: 8192
nginx_worker_shutdown_timeout Domyślnie: 4

SELinux

Zmienna Opis
selinux_enabled Domyślnie: false

Przykładowy Playbook

- hosts: www
  roles:
     - role: inmotionhosting.nginx_proxy

Licencja

GPLv3

Informacje o autorze

InMotion Hosting

O projekcie

Modular Ansible Role for deploying and configuring Nginx as a reverse proxy

Zainstaluj
ansible-galaxy install inmotionhosting.nginx_proxy
Licencja
gpl-3.0
Pobrania
53.5k
Właściciel
Offering Private and Public Cloud, Software as a Service, and Web Hosting