一般的な Nginx のテクニックと例の概要

一般的な Nginx のテクニックと例の概要

1. 複数サーバーの優先順位

たとえば、各サーバー ブロックがポート 80 をリッスンする場合、www.pm.com はサーバー IP アドレスに対応し、一致する順序は次のようになります。

①server_nameがwww.pm.comと全く同じブロック。

②server_nameが*.pm.comであるブロック。 (ワイルドカードが先)

③server_nameがpm.*であるブロック。 (後ろにワイルドカード)

④server_nameは正規表現を使用し、www.pm.comのブロックに一致させることができます。

⑤一致するものが見つからない場合は、listen 80 default_server;のブロックが選択されます。

⑥項目5がない場合は、最初の設定ファイルの最初のサーバーブロックを選択します。

ドメイン名 www.pm.com にアクセスすると、上記のサーバーが優先されます。

このときIPでアクセスするとリクエストヘッダーのHostフィールドの値が192.168.1.7となり、server_nameにマッチできません。ルールにしたがって以下のサーバーにマッチすることになります。

2. IPアクセスを禁止する

IP アクセスを禁止すると、他のユーザーが悪意を持ってドメイン名を自分の IP に解決することを防ぐことができます。

2 つの形式:

注意: 最初の方法では default_server を使用する必要があります。他の場所で default_server を使用する必要がある場合は、2 番目の方法を使用できます。

3. include をもっと頻繁に使う(良いコメントを書く)

1 台のサーバーで複数のサーバー Web サイトを構成すると、メイン構成ファイル nginx.conf が非常に肥大化し、読みにくくなります。この場合、include メソッドをより頻繁に使用して、メイン構成ファイルを簡素化し、運用および保守担当者が保守しやすくなります。

4. エイリアスを使用してウェブサイトの実際のディレクトリ構造を保護する

http://www.pm.com/image/logo.png にある画像にアクセスすると、訪問者は画像へのパスを知ることができます。

場所 / 画像 {

ルート /pm_code;

}

対応するパスは/pm_code/image/です。

エイリアスを使用する場合:

場所 / 画像 {

エイリアス /pm_code;

}

このとき、イメージの実際の場所は /pm_code の下にあり、/image は仮想ディレクトリであり、エイリアスの後には絶対ディレクトリ パスが続きます。

5. Error_page の設定

404エラーをシミュレートする

http://www.pm.com/jfkdjfk などの存在しない URL を入力すると、/pm_code/www/404.jpg にジャンプします。

502エラーをシミュレートする

ブラウザにwww.pm.comと入力すると、リンクがタイムアウトし、/pm_code/www/500.jpgが表示されます。

注意: 2 つの形式は異なります。 500 別の場所を入力する必要があります。

6.try_filesの設定

簡単な例:

ブラウザにwww.pm.comと入力すると、まず400.htmlが検索され、見つからない場合はindex.htmlが検索されます。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • オペレーターが知っておくべき 18 個の Nginx プロキシ キャッシュ構成のヒント (どれを知っていますか?)
  • Nginx の一般的な設定とテクニックの概要
  • nginx での接続数を制限するためのヒントを共有する
  • Nginx サーバーを最適化するためのヒントの簡単な紹介
  • Nginx Rewrite ルールと使用方法の紹介とスキルの例
  • nginx プロキシ ポート 80 からポート 443 への実装
  • URLパラメータに基づくNginx転送
  • Nginx の起動に失敗した場合のいくつかのエラー処理の詳細な説明

<<:  MySQLで判定文を書く方法のまとめ

>>:  MySQLでカーソルを宣言する方法

推薦する

Vueは複数の画像の追加、表示、削除を実装します

この記事では、Vueで複数の画像を追加、表示、削除するための具体的なコードを参考までに紹介します。具...

Windows DNS サーバーに「ワームレベル」の脆弱性が露呈、17 年間存在

脆弱性の紹介SigRed の脆弱性はワーム化可能であるため非常に危険です。つまり、ユーザーの介入なし...

HTMLの基礎を詳しく解説(第2部)

1. リストリスト ulコンテナーには、一貫した構造とスタイルを持つテキストまたはグラフの形式が読...

ローカルアイデアアクティベーションサーバーの構築に関する詳細なチュートリアル

序文ブロガーはアイデアIDEを使用しています。アイデア公式が最近サードパーティのアクティベーションサ...

JavaScriptのスリープ関数の使用

目次1.スリープ機能2.タイムアウトを設定する3. 約束4. 非同期待機5. 1秒後に出力1、2秒後...

SSH経由でリモートLinuxシステムでコマンドを実行する方法

場合によっては、リモート マシンでいくつかのコマンドを実行する必要があることがあります。これが時々行...

IDEA が Docker を統合してリモート展開を実現するための詳細な手順

1. Dockerサーバーへのリモートアクセスを有効にするdocker が配置されているリモート サ...

Linux ターミナルでドメイン IP アドレスを見つけるコマンド (5 つの方法)

このチュートリアルでは、Linux ターミナルでドメイン名またはコンピューター名の IP アドレスを...

Alibaba Cloud で静的ウェブサイトを素早く構築する方法

序文:ジュニアプログラマーとして、私は自分自身の個人ウェブサイトを構築し、それを他の人に見せることを...

MySQL 5.6 ルートパスワード変更チュートリアル

1. MySQL 5.6をインストールした後、正常に有効化できないMySQL の圧縮バージョンは、解...

Layuiテーブルは指定された行のラジオボタンを選択し、その行の実装コードまでスクロールします。

layui テーブルには複数行のデータがあります。外部入力コンテンツを通じて、指定された行を見つけ...

初心者向け入門チュートリアル④:サブディレクトリのバインド方法

これが何を意味するのかを理解するには、まずサブディレクトリとは何かを知る必要があります。では、サブデ...

一般的な Dockerfile コマンドの使用方法の紹介

目次01 CM 02 エントリーポイント03 ワークディレクトリ04 環境05 ユーザー06巻07 ...

Docker マルチステージビルドを使用してイメージサイズを縮小する方法

この記事では、Docker のマルチステージ ビルド機能を使用してイメージ サイズを大幅に削減する方...

Docker Compose を使用して Confluence を構築するチュートリアル

この記事は「Attribution 4.0 International (CC BY 4.0)」ライ...