0%

NGINX is one of the most widely used web servers available today, in part because of its capabilities as a load balancer and reverse proxy server for HTTP and other network protocols. This cookbook provides easy-to-follow examples to real-world problems in application delivery. The practical recipes will help you set up and use either the open source or commercial offering to solve problems in various use cases.

For professionals who understand modern web architectures, such as n-tier or microservice designs, and common web protocols including TCP and HTTP, these recipes provide proven solutions for security, software load balancing, and monitoring and maintaining NGINX's application delivery platform. You'll also explore advanced features of both NGINX and NGINX Plus, the free and licensed versions of this server.

You'll find recipes for:

  • High-performance load balancing with HTTP, TCP, and UDP
  • Securing access through encrypted traffic, secure links, HTTP authentication subrequests, and more
  • Deploying NGINX to Google Cloud, AWS, and Azure cloud computing services
  • Setting up and configuring NGINX Controller
  • Installing and configuring the NGINX Plus App Protect module
  • Enabling WAF through Controller ADC

Table of Contents

  1. Cover
  2. Copyright
  3. 目次 (1/2)
  4. 目次 (2/2)
  5. まえがき
  6. 序文
  7. 第1章 基本 (1/2)
  8. 第1章 基本 (2/2)
    1. 1.0 はじめに
    2. 1.1 Debian/Ubuntuへのインストール
    3. 問題
    4. 解決法
    5. 解説
    6. 1.2 RedHat/CentOSへのインストール
    7. 問題
    8. 解決法
    9. 解説
    10. 1.3 NGINX Plusのインストール
    11. 問題
    12. 解決法
    13. 解説
    14. 1.4 インストールの確認
    15. 問題
    16. 解決法
    17. 解説
    18. 1.5 キーファイル、ディレクトリ、コマンド
    19. 問題
    20. 解決法
    21. 解説
    22. 1.6 静的コンテンツの提供
    23. 問題
    24. 解決法
    25. 解説
    26. 関連項目
    27. 1.7 正常なリロード
    28. 問題
    29. 解決法
    30. 解説
  9. 第2章 ハイパフォーマンスロード バランシング (1/4)
  10. 第2章 ハイパフォーマンスロード バランシング (2/4)
  11. 第2章 ハイパフォーマンスロード バランシング (3/4)
  12. 第2章 ハイパフォーマンスロード バランシング (4/4)
    1. 2.0 はじめに
    2. 2.1 HTTP負荷分散
    3. 問題
    4. 解決法
    5. 解説
    6. 2.2 TCPロードバランシング
    7. 問題
    8. 解決法
    9. 解説
    10. 2.3 UDPロードバランシング
    11. 問題
    12. 解決法
    13. 解説
    14. 2.4 ロードバランシング方法
    15. 問題
    16. 解決法
    17. 解説
    18. 2.5 NGINX Plusを使用したスティッキークッキー
    19. 問題
    20. 解決法
    21. 解説
    22. 2.6 NGINX Plusを使用したスティッキーラーン
    23. 問題
    24. 解決法
    25. 解説
    26. 2.7 NGINX Plusを使用したスティッキールーティング
    27. 問題
    28. 解決法
    29. 解説
    30. 2.8 NGINX Plusを使用した接続のドレイン
    31. 問題
    32. 解決法
    33. 解説
    34. 2.9 パッシブヘルスチェック
    35. 問題
    36. 解決法
    37. 解説
    38. 関連項目
    39. 2.10 NGINX Plusのアクティブヘルスチェック
    40. 問題
    41. 解決法
    42. 解説
    43. 関連項目
    44. 2.11 NGINX Plusのスロースタート
    45. 問題
    46. 解決法
    47. 解説
  13. 第3章トラフィック管理 (1/3)
  14. 第3章トラフィック管理 (2/3)
  15. 第3章トラフィック管理 (3/3)
    1. 3.0 はじめに
    2. 3.1 A/B テスト
    3. 問題
    4. 解決法
    5. 解説
    6. 関連項目
    7. 3.2 GeoIPモジュールとデータベースの使用
    8. 問題
    9. 解決法
    10. 解説
    11. 関連項目
    12. 3.3 国に基づくアクセス制限
    13. 問題
    14. 解決法
    15. 解説
    16. 3.4 オリジナルクライアントを見つける
    17. 問題
    18. 解決法
    19. 解説
    20. 3.5 接続制限
    21. 問題
    22. 解決法
    23. 解説
    24. 3.6 レート制限
    25. 問題
    26. 解決法
    27. 解説
    28. 3.7 帯域幅 制限
    29. 問題
    30. 解決法
    31. 解説
  16. 第4章 大幅にスケーラブルなコンテンツキャッシング (1/2)
  17. 第4章 大幅にスケーラブルなコンテンツキャッシング (2/2)
    1. 4.0 はじめに
    2. 4.1 ゾーンキャッシュ
    3. 問題
    4. 解決法
    5. 解説
    6. 4.2 キャッシュロッキング
    7. 問題
    8. 解決法
    9. 解説
    10. 4.3 キャッシュハッシュキーのキャッシュ
    11. 問題
    12. 解決法
    13. 解説
    14. 4.4 キャッシュバイパス
    15. 問題
    16. 解決法
    17. 解説
    18. 4.5 パフォーマンスキャッシュ
    19. 問題
    20. 解決法
    21. 解説
    22. 4.6 NGINX Plusでのキャッシュパージ
    23. 問題
    24. 解決法
    25. 解説
    26. 4.7 キャッシュスライシング
    27. 問題
    28. 解決法
    29. 解説
    30. 関連項目
  18. 第5章 プログラマビリティと自動化 (1/4)
  19. 第5章 プログラマビリティと自動化 (2/4)
  20. 第5章 プログラマビリティと自動化 (3/4)
  21. 第5章 プログラマビリティと自動化 (4/4)
    1. 5.0 はじめに
    2. 5.1 NGINX Plus API
    3. 問題
    4. 解決法
    5. 解説
    6. 関連項目
    7. 5.2 NGINX Plusでのキーバリューストアの使用
    8. 問題
    9. 解決法
    10. 解説
    11. 関連項目
    12. 5.3 共通プログラミング言語でNGINXを拡張
    13. 問題
    14. 解決法
    15. 解説
    16. 関連項目
    17. 5.4 Puppetを使ったインストール
    18. 問題
    19. 解決法
    20. 解説
    21. 関連項目
    22. 5.5 Chefを使ったインストール
    23. 問題
    24. 解決法
    25. 解説
    26. 関連項目
    27. 5.6 Ansibleを使ったインストール
    28. 問題
    29. 解決法
    30. 解説
    31. 関連項目
    32. 5.7 SaltStackを使ったインストール
    33. 問題
    34. 解決法
    35. 解説
    36. 関連項目
    37. 5.8 Consulテンプレートによる構成の自動化
    38. 問題
    39. 解決法
    40. 解説
    41. 関連項目
  22. 第6章 認証 (1/2)
  23. 第6章 認証 (2/2)
    1. 6.0 はじめに
    2. 6.1 HTTP Basic認証
    3. 問題
    4. 解決法
    5. 解説
    6. 6.2 認証サブリクエスト
    7. 問題
    8. 解決法
    9. 解説
    10. 6.3 NGINX PlusでのJWTの照合
    11. 問題
    12. 解決法
    13. 解説
    14. 関連項目
    15. 6.4 JSON Web Keyの作成
    16. 問題
    17. 解決法
    18. 解説
    19. 関連項目
    20. 6.5 NGINX Plus でのJSON Webトークンの照合
    21. 問題
    22. 解決法
    23. 解説
    24. 関連項目
    25. 6.6 NGINX PlusでJSON Webキーセットを自動的に取得してキャッシュする
    26. 問題
    27. 解決法
    28. 解説
    29. 関連項目
    30. 6.7 NGINX Plusでの既存のOpenID Connect SSOを介したユーザー認証
    31. 問題
    32. 解決法
    33. 解説
    34. 関連項目
  24. 第7章 セキュリティ コントロール (1/4)
  25. 第7章 セキュリティ コントロール (2/4)
  26. 第7章 セキュリティ コントロール (3/4)
  27. 第7章 セキュリティ コントロール (4/4)
    1. 7.0 はじめに
    2. 7.1 IPアドレスに基づくアクセス
    3. 問題
    4. 解決法
    5. 解説
    6. 7.2 クロスオリジンリソース共有の許可
    7. 問題
    8. 解決法
    9. 解説
    10. 7.3 クライアント側の暗号化
    11. 問題
    12. 解決法
    13. 解説
    14. 関連項目
    15. 7.4 クライアント側の暗号化(応用)
    16. 問題
    17. 解決法
    18. 解説
    19. 関連項目
    20. 7.5 アップストリーム暗号化
    21. 問題
    22. 解決法
    23. 解説
    24. 7.6 ロケーションの保護
    25. 問題
    26. 解決法
    27. 解説
    28. 7.7 秘密を使用したセキュアリンクの生成
    29. 問題
    30. 解決法
    31. 解説
    32. 7.8 有効期限のあるロケーションの保護
    33. 問題
    34. 解決法
    35. 解説
    36. 7.9 有効期限のあるリンクの生成
    37. 問題
    38. 解決法
    39. 解説
    40. 7.10 HTTPSリダイレクト
    41. 問題
    42. 解決法
    43. 解説
    44. 7.11 NGINXより手前でSSL/TLSが終端されている場合のHTTPSへのリダイレクト
    45. 問題
    46. 解決法
    47. 解説
    48. 7.12 HTTPストリクトトランスポートセキュリティ
    49. 問題
    50. 解決法
    51. 解説
    52. 関連項目
    53. 7.13 任意の数のセキュリティ方法を満たす
    54. 問題
    55. 解決法
    56. 解説
    57. 7.14 NGINX Plus動的アプリケーションレイヤーによる DDoS攻撃の軽減
    58. 問題
    59. 解決法
    60. 解説
    61. 7.15 NGINX Plus App Protectモジュールのインストールと構成
    62. 問題
    63. 解決法
    64. 解説
    65. 関連項目
  28. 第8章HTTP/2 (1/2)
  29. 第8章HTTP/2 (2/2)
    1. 8.0 はじめに
    2. 8.1 基本的な 構成
    3. 問題
    4. 解決法
    5. 解説
    6. 関連項目
    7. 8.2 gRPC
    8. 問題
    9. 解決法
    10. 解説
    11. 8.3 HTTP/2サーバープッシュ
    12. 問題
    13. 解決法
    14. 解説
  30. 第9章 高度なメディア ストリーミング
    1. 9.0 はじめに
    2. 9.1 MP4とFLVへの対応
    3. 問題
    4. 解決法
    5. 解説
    6. 9.2 NGINX PlusでのHLSのストリーミング
    7. 問題
    8. 解決法
    9. 解説
    10. 9.3 NGINX PlusでのHDSストリーミング
    11. 問題
    12. 解決法
    13. 解説
    14. 9.4 NGINX Plusの帯域幅制限
    15. 問題
    16. 解決法
    17. 解説
  31. 第10章 クラウド 展開 (1/3)
  32. 第10章 クラウド 展開 (2/3)
  33. 第10章 クラウド 展開 (3/3)
    1. 10.0 はじめに
    2. 10.1 AWSでの自動プロビジョニング
    3. 問題
    4. 解決法
    5. 解説
    6. 10.2 AWS ELB なしでのNGINXノードへのルーティング
    7. 問題
    8. 解決法
    9. 解説
    10. 関連項目
    11. 10.3 NLBサンドイッチ
    12. 問題
    13. 解決法
    14. 解説
    15. 10.4 AWSマーケットプレイスからのデプロイ
    16. 問題
    17. 解決法
    18. 解説
    19. 10.5 AzureでのNGINX仮想マシンイメージの作成
    20. 問題
    21. 解決法
    22. 解説
    23. 関連項目
    24. 10.6 AzureでのNGINXスケールセットでのロードバランシング
    25. 問題
    26. 解決法
    27. 解説
    28. 10.7 AzureMarketplaceを介したデプロイ
    29. 問題
    30. 解決法
    31. 解説
    32. 10.8 Google Compute Engineへのデプロイ
    33. 問題
    34. 解決法
    35. 解説
    36. 10.9 Google Compute Imageの作成
    37. 問題
    38. 解決法
    39. 解説
    40. 関連項目
    41. 10.10 Google App Engineプロキシの作成
    42. 問題
    43. 解決法
    44. 解説
  34. 第11章 コンテナ/マイクロサービス (1/4)
  35. 第11章 コンテナ/マイクロサービス (2/4)
  36. 第11章 コンテナ/マイクロサービス (3/4)
  37. 第11章 コンテナ/マイクロサービス (4/4)
    1. 11.0 はじめに
    2. 11.1 APIゲートウェイとしてのNGINXの使用
    3. 問題
    4. 解決法
    5. 解説
    6. 関連項目
    7. 11.2 NGINX PlusでのDNS SRVレコードの使用
    8. 問題
    9. 解決法
    10. 解説
    11. 11.3 公式NGINXイメージの使用
    12. 問題
    13. 解決法
    14. 解説
    15. 関連項目
    16. 11.4 NGINX Dockerfileの作成
    17. 問題
    18. 解決法
    19. 解説
    20. 11.5 NGINX Plus Dockerイメージの構築
    21. 問題
    22. 解決法
    23. 解説
    24. 関連項目
    25. 11.6 NGINXでの環境変数の使用
    26. 問題
    27. 解決法
    28. 解説
    29. 11.7 Kubernetes Ingressコントローラー
    30. 問題
    31. 解決法
    32. 解説
    33. 11.8 Prometheus Exporterモジュール
    34. 問題
    35. 解決法
    36. 解説
    37. 関連項目
  38. 第12章 高可用性展開 モード (1/2)
  39. 第12章 高可用性展開 モード (2/2)
    1. 12.0 はじめに
    2. 12.1 NGINX Plus HAモード
    3. 問題
    4. 解決法
    5. 解説
    6. 12.2 DNSでのロードバランシングロードバランサー
    7. 問題
    8. 解決法
    9. 解説
    10. 12.3 EC2でのロードバランシング
    11. 問題
    12. 解決法
    13. 解説
    14. 12.4 NGINX Plus構成の同期
    15. 問題
    16. 解決法
    17. 解説
    18. 12.5 NGINX PlusおよびZoneSyncを使用した状態共有
    19. 問題
    20. 解決法
    21. 解説
  40. 第13章 高度なアクティビティ モニタリング (1/2)
  41. 第13章 高度なアクティビティ モニタリング (2/2)
    1. 13.0 はじめに
    2. 13.1 NGINXオープンソーススタブステータスを有効にする
    3. 問題
    4. 解決法
    5. 解説
    6. 13.2 NGINX Plus監視ダッシュボードの有効化
    7. 問題
    8. 解決法
    9. 解説
    10. 関連項目
    11. 13.3 NGINX Plus APIを使用した指標の収集
    12. 問題
    13. 解決法
    14. 解説
    15. 関連項目
  42. 第14章 デバッグ、アクセスログ、エラーログ、要求のトレース (1/2)
  43. 第14章 デバッグ、アクセスログ、エラーログ、要求のトレース (2/2)
    1. 14.0 はじめに
    2. 14.1 アクセスログの設定
    3. 問題
    4. 解決法
    5. 解説
    6. 14.2 エラーログの設定
    7. 問題
    8. 解決法
    9. 解説
    10. 14.3 Syslogへの転送
    11. 問題
    12. 解決法
    13. 解説
    14. 14.4 要求トレース
    15. 問題
    16. 解決法
    17. 解説
    18. 14.5 NGINXのOpenTracing
    19. 問題
    20. 解決法
    21. 解説
    22. 関連項目
  44. 第15章 パフォーマンス チューニング (1/2)
  45. 第15章 パフォーマンス チューニング (2/2)
    1. 15.0 はじめに
    2. 15.1 ロードドライバーを使用したテストの自動化
    3. 問題
    4. 解決法
    5. 解説
    6. 15.2 クライアントに対して接続を開いたままにする
    7. 問題
    8. 解決法
    9. 解説
    10. 15.3 接続をアップストリームで開いたままにする
    11. 問題
    12. 解決法
    13. 解説
    14. 15.4 バッファリング応答
    15. 問題
    16. 解決法
    17. 解説
    18. 関連項目
    19. 15.5 アクセスログのバッファリング
    20. 問題
    21. 解決法
    22. 解説
    23. 15.6 OSチューニング
    24. 問題
    25. 解決法
    26. 解説
  46. 第16章 NGINX Controllerの紹介 (1/2)
  47. 第16章 NGINX Controllerの紹介 (2/2)
    1. 16.0 はじめに
    2. 16.1 セットアップの概要
    3. 問題
    4. 解決法
    5. 解説
    6. 関連項目
    7. 16.2 NGINX Plusとコントローラの接続
    8. 問題
    9. 解決法
    10. 解説
    11. 関連項目
    12. 16.3 APIを使用したNGINX Controllerの操作
    13. 問題
    14. 解決法
    15. 解説
    16. 関連項目
    17. 16.4 コントローラアプリのセキュリティを介してWAFを有効にする
    18. 問題
    19. 解決法
    20. 解説
  48. 第17章 実用的な運用のヒントと結論
    1. 17.0 はじめに
    2. 17.1 Includesを使用して設定ファイルを簡潔にする
    3. 問題
    4. 解決法
    5. 解説
    6. 17.2 コンフィグのデバッグ
    7. 問題
    8. 解決法
    9. 解説
    10. 関連項目
  49. 結論
  50. 索引 (1/3)
  51. 索引 (2/3)
  52. 索引 (3/3)
  53. 著者について
44.204.94.166