elan.simple_nginx_reverse_proxy

簡単なnginxリバースプロキシインストールのためのAnsibleロール

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テンプレートが含まれていることに注意してください(templates/nginx.conf)。 src: nginx.confを指定すると、常に付属のテンプレートが使用されます。

セキュリティ関連設定

このロールは、firewalldやufwでNginxのためにポートを開くことができます。 また、リバースプロキシとしてNginxが動作できるようにSELinuxのブール値を設定することもできます。 これらの設定はデフォルトでは無効になっており、明示的に有効にする必要があります:

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

サンプルプレイブック

あなたのプレイブックは次のようになるかもしれません:

---

- 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