1
1

More than 1 year has passed since last update.

【nginx】ディレクティブ一覧

Posted at

はじめに

nginxを全く触ったことがなく、設定ファイルの内容がわからなかったので整理しました。

公式ドキュメント

基本知識

基本知識は下記ページがまとまっていて読みやすかったです。

ディレクティブ

Core functionality

directive about reference
error_log エラーログの出力先、出力するエラーのレベル 3.2 基本的な設定
events イベント処理に関するモジュール nginx連載3回目: nginxの設定、その1
include 読み込む設定ファイル nginx連載3回目: nginxの設定、その1
multi_accept 一度に複数の接続を受け入れるかどうか 【Nginx】multi_acceptを有効化すると何が変わるのかをソースも一緒に追ってみた
pid メインプロセスのプロセスIDが書き込まれるpidファイル Nginx pidとは何か
user nginxのworkerプロセスの実行権限のユーザ nginx連載3回目: nginxの設定、その1
worker_connections workerプロセスで開ける同時接続最大数 nginxのチューニング方法 パフォーマンスを最適化
worker_processes workerプロセス数 nginxの基本設定を改めてちゃんと調べてみた
worker_rlimit_nofile Nginxのworker_connectionsの1workerプロセスにおけるファイルディスクリプタの上限値 [Nginx]worker_connectionsとworker_rlimit_nofileの値は何がいいのか?

ngx_http_core_module

directive about reference
default_type レスポンスのデフォルトのMIMEタイプ nginx連載3回目: nginxの設定、その1
error_page エラーページ Nginxのエラーページをカスタマイズする方法
keepalive_timeout HTTP通信をタイムアウトせずに待つ秒数 Nginx のKeep-aliveの設定
limit_except 許可するHTTPメソッド Nginxでメソッド制限
listen リクエストを受け付けるIPアドレスやポート番号、UNIXドメインソケット nginx連載4回目: nginxの設定、その2 - バーチャルサーバの設定
location URIのパス毎の設定 nginx連載5回目: nginxの設定、その3 - locationディレクティブ
root ドキュメントのルートディレクトリ Nginx rootディレクティブ
sendfile クライアントへのレスポンス処理をsendfileシステムコールというAPIを使って行うかどうか 開発サーバーでもこれだけはやっておくnginxの設定
server_name サーバー名 nginxのserver_nameはちゃんと設定したほうがいいね。というお話
server_tokens エラーページやレスポンスヘッダーにnginxのバージョンを表示するか Nginx導入時やること
tcp_nodelay データをキャッシュしないで送信するかどうか nginx最大パフォーマンスを出すための基本設定
tcp_nopush レスポンスヘッダとファイルの内容をまとめて送るかどうか 【Nginx】ちょっと時間を掛けてチューニングしてみた。
types_hash_max_size コンテンツ配信などの最適化に利用するハッシュテーブルのサイズ nginxの設定 その1

Embedded Variables

directive about reference
body_bytes_sent クライアントに転送したバイト数のうち、レスポンスヘッダのバイト数を引いたもの [nginx] アクセスログフォーマット
remote_addr アクセス元のIP remote_addrとかx-forwarded-forとかx-real-ipとか
remote_user Basic認証で取得したユーザー名 Basic認証で使用したユーザ名を元にリクエストを振り分ける
request 完全なオリジナルのリクエスト 3.1.2 変数、値、文字列
request_time リクエスト処理時間(ミリ秒精度の秒) 3.1.2 変数、値、文字列
status レスポンスのステータス 3.1.2 変数、値、文字列
time_local アクセスに対してレスポンスを返した日時 nginxの$time_localで出力される日時のタイミングはいつなのか

ngx_http_headers_module

directive about reference
add_header httpレスポンスにヘッダーを追加 add_headerを使ってnginxをデバッグする

ngx_http_index_module

directive about reference
index indexファイル(パス"/"にアクセスした時のファイル) nginx indexディレクティブ

ngx_http_limit_req_module

directive about reference
limit_req limit_req_zoneにて定義した制限を適用 Nginxでのアクセス流量制御を検証してみた
limit_req_log_level ログレベル
limit_req_status 拒否されたリクエストに返されるhttpステータスコード NGINX で接続 (リクエスト) のレートを制限する方法
limit_req_zone 同一IPアドレスからのリクエスト制限の設定 【Nginx】DoS対策_limit_req_zone

ngx_http_log_module

directive about reference
access_log アクセスログの出力先 3.2 基本的な設定
log_format アクセスログにログを出力する際に使用するフォーマット Nginx - ログフォーマット、アクセスログについて!

ngx_http_map_module

directive about reference
map 送信元IPアドレス、振り分け先となるサーバー情報 NGINX:送信元IPアドレスでサーバーを振り分けてみる

ngx_http_proxy_module

directive about reference
proxy_pass プロキシのパス nginxのproxy_passでハマった
proxy_connect_timeout nginxから後続へのコネクションを張るタイムアウト時間 Nginx リバースプロキシ基本設定
proxy_http_version プロキシに使用するHTTPプロトコルのバージョン nginxのproxy_http_versionのデフォルト値が1.0
proxy_read_timeout レスポンスを返すタイムアウト値 Nginx リバースプロキシ基本設定
proxy_send_timeout nginxから後続に対してデータ送信する際のタイムアウト値 Nginx リバースプロキシ基本設定
proxy_set_header 転送先に追加・再定義するアクセス元のIPやホスト情報 Nginx リバースプロキシ基本設定

ngx_http_realip_module

directive about reference
set_real_ip_from アクセス元IPアドレス nginxで複数のproxyを経由する場合でもアクセス元IPアドレスを取得する
real_ip_header アクセス元IPアドレスの置換に使用するHTTPヘッダーフィールド remote_addrとかx-forwarded-forとかx-real-ipとか
real_ip_recursive IPアドレスを繰り返し置換するか nginxで複数のproxyを経由する場合でもアクセス元IPアドレスを取得する

ngx_http_rewrite_module

directive about reference
return クライアントに返すcode、URL Nginx returnディレクティブ
rewrite リダイレクトするURL nginxのrewriteを使ったリダイレクト
set 変数の定義 set,ifディレクティブ,変数に関して

ngx_http_ssl_module

directive about reference
ssl_certificate サーバー証明書のファイルパス nginx連載6回目: nginxの設定、その4 - TLS/SSLの設定
ssl_certificate_key 秘密鍵のファイルパス nginx連載6回目: nginxの設定、その4 - TLS/SSLの設定
ssl_ciphers SSLで使用する暗号スイート nginx連載6回目: nginxの設定、その4 - TLS/SSLの設定
ssl_dhparam Diffie-Helmanの鍵交換アルゴリズムで使われる素数を格納しているファイル nginx : ssl_dhparamの有り無しでの挙動の違い
ssl_prefer_server_ciphers 利用する暗号を選ぶ際に優先するSSLv3やTLSではサーバが示した暗号スイート nginx連載6回目: nginxの設定、その4 - TLS/SSLの設定
ssl_protocols SSLのバージョン nginx連載6回目: nginxの設定、その4 - TLS/SSLの設定
ssl_session_cache SSLセッションキャッシュをどのように扱うかとそのキャッシュサイズ nginx連載6回目: nginxの設定、その4 - TLS/SSLの設定
ssl_session_timeout SSLセッションキャッシュに保管するSSLセッションの情報のタイムアウト時間 nginx連載6回目: nginxの設定、その4 - TLS/SSLの設定

ngx_http_upstream_module

directive about reference
keepalive 有効にするコネクション数 NginxのKeepAlive設定と考え方まとめ(Timeout・upstream等 )
server バーチャルホストの設定 Nginxの設定で押さえておきたいポイント
upstream 上流サーバーのグループ 【nginx】設定の基本、リバースプロキシの設定

Embedded Variables

directive about reference
upstream_addr 上流サーバーのIPアドレス
upstream_response_time 上流サーバーからレスポンスを受信するまでの時間
upstream_status 上流サーバーから受信したレスポンスのHTTPステータスコード

その他参考

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1