elan.simple_nginx_reverse_proxy
簡単なnginxリバースプロキシインストールのためのAnsibleロール
このロールは、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
オプションを設定して、デフォルトの設定を上書きし、自分自身の設定ファイルのセットを指定できます。
src
とdest
のフィールドのリストを設定して、デプロイするテンプレートを指定します。
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
ライセンス
著者情報
ansible-galaxy install elan.simple_nginx_reverse_proxy