elan.simple_nginx_reverse_proxy

Ansible 角色用于简单的 Nginx 反向代理安装

molecule

该角色将 Nginx 安装为简单的反向代理。

角色变量

有关配置选项的完整概述,请查看 defaults

代理配置

此角色默认配置会自动重定向到 HTTPS,并允许您指定简单的块以配置 Nginx:

nginx_proxy: |
  location / {
    proxy_set_header        Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header        X-Forwarded-Proto $scheme;
    proxy_pass              http://127.0.0.1:8080;
  }

TLS 证书

默认配置提供简单的自签名证书,如果不存在的话。 请确保用您自己的证书替换它们。 只需覆盖以下文件:

  • /etc/nginx/tls/certificate.key;
  • /etc/nginx/tls/certificate.crt;

高级配置

您可以设置 nginx_config 选项以覆盖默认配置,并指定您自己的配置文件集。 设置 srcdest 字段的列表,指定要部署的模板。 dest 字段始终指定相对于 /etc/nginx/ 的位置:

roles:
  - role: elan.simple_nginx_reverse_proxy
    nginx_config:
      - src: nginx.conf
        dest: nginx.conf

请注意,该角色包含一个 nginx.conf 模板。 指定 src: nginx.conf始终使用包含的模板。

安全相关配置

该角色可以在 firewalld 或 ufw 中打开 Nginx 的端口。 它还可以设置 SELinux 布尔值以允许 Nginx 作为反向代理工作。 这些设置默认情况下是禁用的,您必须明确启用它们:

  • configure_for_firewalld: true
  • configure_for_ufw: true
  • configure_for_selinux: true

示例 Playbook

您的 playbook 可能如下所示:

---

- hosts: all
  become: true
  roles:
    - role: elan.simple_nginx_reverse_proxy
      configure_for_firewalld: true

开发

用于开发和测试,您可以使用 molecule。 使用 Podman 作为驱动程序,您可以像这样安装它 - 最好在虚拟环境中:

pip install -r .dev_requirements.txt

然后,您可以使用以下命令创建测试实例,应用 Ansible 配置 (converge) 并销毁测试实例:

molecule create
molecule converge
molecule destroy

许可证

BSD-3-Clause

作者信息

ELAN e.V

关于项目

Installs and prepares Nginx as reverse proxy

安装
ansible-galaxy install elan.simple_nginx_reverse_proxy
许可证
bsd-3-clause
下载
24.6k
拥有者
elan e.V. is a German non-profit organization helping universities and other higher education organizations with all things related to e-learning