hoall.nginx-proxy
ロール nginx-proxy
このロールは nginx をプロキシサーバーとしてインストールします。設定は HTTPS のみの使用に適していますので、SSL 証明書の設定を忘れないでください。dhparam は新しく生成されたバージョンに置き換えられます。この生成はインストール中に行われます。また、このロールはプロキシサーバー用の便利なデフォルト設定も提供します。
セキュリティレベルは Mozilla 財団の定義に基づく modern です(詳細については彼らのジェネレーターを参照してください:https://mozilla.github.io/server-side-tls/ssl-config-generator/)。この設定はほとんどのシステムに適合するはずです。生成されたテンプレートは Ubuntu 16.04 のものです。HSTS が有効になっています。この設定は ssllabs.com で A+ の評価を受けています。
デフォルトのウェブサイトは / にマッピングされています。このロールを使用して、Tomcat サーバーへの接続を抽象化し、安全にしています。
改善点があれば、プルリクエストを作成してください。
要件
SSL 証明書と openssl(dhparam 用)。良いロールを探している場合は、geerlingguy.certbot をチェックすることをお勧めします。
ロール変数
注意:上書きする必要がある変数は大文字で記載されています。
名称 | デフォルト値 | 説明 |
---|---|---|
NP_SERVER_NAME |
NONE | 'サーバー(および場所)がリッスンする名前を含む文字列。例:"example.com www.example.com"' |
NP_SSL_CERTIFICATE |
NONE | 'SSL 証明書へのパス(fullchain.pem)。例:/etc/letsencrypt/live/example.de/fullchain.pem' |
NP_SSL_CERTIFICATE_KEY |
NONE | 'SSL 証明書の秘密鍵へのパス(privkey.pem)。例:/etc/letsencrypt/live/example.de/privkey.pem' |
NP_PROXY_PASS |
NONE | '場所へのパス。例:"http://127.0.0.1:8080/example/"' |
NP_REWRITE |
NONE | 'ウェブサイト用の書き換えルール。例:"^/example(.*)$ $1 last"' |
np_worker_processes |
{{ ansible_processor_count }} | 'nginx が使用すべきワーカープロセスの数。デフォルトはコアごとに1つ、ansible セットアップによって決定されます。' |
np_worker_connections |
1024 | '各ワーカープロセスの接続数(バックエンドサーバーを含む)。ブラウザは速度を上げるために複数の接続を開くことに注意してください。' |
np_keep_alive_timeout |
15 | 'アイドルクライアント接続のタイムアウト(秒単位)。' |
np_client_max_body_size |
10m | 'クライアントのリクエストボディの最大許可サイズを指定します。"Content-Length" リクエストヘッダーフィールドで指定。' |
np_client_body_buffer_size |
10k | 'クライアントリクエストボディを読み取るためのバッファサイズ。' |
np_proxy_connect_timeout |
10 | 'プロキシサーバーとの接続を確立する際のタイムアウトを定義します。このタイムアウトは通常75秒を超えることはできません。' |
np_proxy_send_timeout |
10 | 'プロキシサーバーへのリクエスト転送のタイムアウト(秒単位)。' |
np_proxy_read_timeout |
10 | 'プロキシサーバーからの応答を読み取る際のタイムアウト(秒単位)。' |
np_proxy_buffers |
"32 8k" | 'プロキシサーバーから受け取った応答の最初の部分を読み取るためのバッファのサイズを設定します。この部分には通常、小さな応答ヘッダーが含まれています。デフォルトでは、バッファサイズは1つのメモリページに等しく、プラットフォームに応じて4K または 8K です。サイズを小さくすることも可能です。' |
注意:このドキュメントの一部は公式の nginx ドキュメントからのものです(https://nginx.org/en/docs/)。ソースとドキュメントは2条項BSDライセンスの下に配布されています。
自分のニーズに応じて変数を修正してください。
依存関係
例 プレイブック
- hosts: servers
roles:
- { role: hoall.nginx-proxy, NP_SERVER_NAME: "example.com www.example.com", NP_SSL_CERTIFICATE: /etc/letsencrypt/live/fullchain.pem, NP_SSL_CERTIFICATE_KEY: /etc/letsencrypt/live/privkey.pem }
ライセンス
BSD
著者情報
Felix Paetow fhmpaetow@fsfe.org