すべてのガイド
NGINXのホースティング

Nginx VPS ホスティングチェックリスト: ドメイン, TLS およびデプロイメントテスト

このNginx VPSホスティングチェックリストに従って、ドメイン、バーチャルホスト、TLS、ログ、およびリロードを検証して、Webサイトを公開します。

Nginx の設定を所有している者を特定する

Nginxは静的ファイルを提供でき、PHPはFastCGIプロセスやプロキシリクエストを別のアプリケーションに渡します。 このチェックリストは、Linux VPS を管理し、インストールした設定を検査できると仮定します。 VPS の配布は、Nginx、PHP、証明書、またはコントロールパネルが既にインストールされ、設定されていないわけではありません。

パネルがスタックを管理している場合は、サポートされている設定ワークフローを使用します。 生成されたファイルへの手動編集は、後でパネルによって上書きされることがあります。 インストールされたパッケージ、アクティブ設定パス、およびドメインや証明書を管理するためにしようとする秒システムを追加する前に、将来のリリースを担当する人を記録します。

各ホスト名を意図したサーバーブロックにマップする

Nginxは、リスニングアドレスと要求されたサーバー名を使用してサーバーブロックを選択します。 リスニングとserver_nameを一緒にレビューします。, 比類のないリクエストの非審議的なデフォルトを含む. DNS で指す VPS は正しいウェブサイトが答えることを保証するものではありません: Web サーバーは適切なホスト構成を必要とします。

プライマリホスト名、 www alias 、および期待されるリダイレクト動作をリストします。 パブリックレコードを変更する前に、目的のドメインを使用して、各ホスト名を宛先にテストします。 bare IP に対するテストは、デフォルトのサイトにアクセスし、名前付きウェブサイトで問題を見逃すことができます。

必要に応じてテーブルを水平にスクロールします。

デプロイ前の宛先リクエストを文書化
アイテム記録への決定試験結果
ドメインとエイリアスどのserver_nameが各ホストを扱うか各ホスト名は、意図したサイトに機能またはリダイレクトする
ドキュメントルート意図したパブリックファイルが存在する場所既知のパブリックアセットの読み込み; プライベートファイルはありません
アプリケーションハンドラ静的、FastCGI またはリバースプロキシ実際のアプリケーションパスが正しいプロセスに到達
比類のないリクエストデフォルトサーバの挙動を非審美化未知のホスト名は、プライベートアプリケーションを表示しません

ドメインを接続し、パブリックDNSを検証

静的ファイル、PHP、プロキシルーティングを別々にチェック

静的コンテンツの場合、作業者のプロセスで使用される文書のルートとファイル権限を確認します。 PHP では、Nginx は、FastCGI の作業先と正しいスクリプトパスのパラメーターが必要です。PHP ファイルはディレクトリに置かれません。 インストールしたPHP-FPMソケットまたはエンドポイントとアプリケーション固有のルーティングルールを検証します。

リバースプロキシされたアプリケーションの場合、上流プロセスが設定されたエンドポイントで実行されていることを確認し、パブリックホスト名とHTTPSのコンテキストを理解しています。 通常のアプリケーション・ルート、アセット、欠航ルートをテストします。 公的なファイル保存エリア外で認証情報、データベースのエクスポート、アプリケーション環境ファイルを保持します。

コンテナベースのアプリケーション用のDocker VPSオプションを比較

HTTPS および証明書の更新の所有権を検証

HTTPSサーバーブロックは、インストールされた設定で参照される証明書とマッチングプライベートキーを必要とします。 クライアントに提供されるすべてのパブリックホスト名とチェーンの証明書のカバレッジを確認します。 プライベートキーは、読み込めるプロセスで読みやすいままアクセスを制限する必要があります。ドキュメントルートに置かず、サポートメッセージに送信されるべきではありません。

どのツールやオペレーターが証明書を入手し、更新するのかを決めます。 更新方法をテストし、それに依存する前に結果の構成を点検して下さい。 HTTP-to-HTTPSとエイリアスがループのためにリダイレクトし、HTTPS上のアプリケーションアセットを読み込み、混合コンテンツの問題をキャッチします。 独自のVPSの証明書のセットアップは、想定された計画の包含ではなく、管理タスクです。

VPS リバースプロキシの背後にある Node.js アプリケーションを用意する

再ロードを加える前に設定をテストして下さい

最後の作業構成のコピーを保ち、変更が影響するファイルを含むことを知っています。 通常の実行可能パスとパスを使用してインストールでは、sudo nginx -t は設定の構文をチェックし、参照されたファイルを開きます。 変更を加える前に失敗したテストは修正する必要があります。 適切なコマンドパスと権限をシステムに使用してください。

既存のサービス管理ワークフローで検証済みの変更を適用します。Nginxは、意図した実行インスタンスに使用したときにnginx -sリロードもサポートします。 コマンド結果とログを確認し、Webサイトのテストを繰り返します。 Syntax 検証は、上流アプリケーションが動作するかどうかを証明できません。DNS が正しいか、ログインが完了したことです。

失敗層を見つけるために、エラーリクエストログと使用

各パッケージが同じパスに書き込むのではなく、設定されたアクセスログの宛先を調べます。 想定されるホストに対してテストリクエストが記録され、そのステータスを確認して下さい。 リクエストが見つからない場合、アプリケーションがトラフィックを受信したことを解決する前に、目的地とログ設定を確認してください。

アプリケーションエラーからWebサーバーのエラーを分離します。 不足しているファイル、未使用の上流と失敗したアプリケーションログインは、異なる調査を必要とします。 個人データ、トークン、または機密クエリ文字列を含む未加工ログを発行することなく関連するメッセージを確認します。 独自のシステムのためのログの回転と保持を整理するので、有用な診断は、サイトに必要なスペースを消費しません。

リリースを検証し、ロールバックを繰り返す

再ロード後の公共サイトとDNSの変更をテストします。 ホームページ、重要な深いリンク、アップロード、またはフォームの動作、HTTPS エイリアスのサポートが含まれています。 意図的にプライベートファイルがアクセスできないことを確認してください。 アプリケーションがデータベースのマイグレーションを使用している場合は、Nginx 設定ロールバックとは別にその回復手順を確認します。

以前のアプリケーションリリースと構成を新しいリリースが受け入れられるまで保持します。 変更した内容を記録し、それを正当化するチェックを行います。 サーバブロックロールバックは起動後に記述したアプリケーションデータをリバースしません。 利用する Docker コンテナのネットワークとサーバーの拡張のセキュリティガイドのためのガイド。このチェックリストは、Webサーバーのデプロイメントチェックを所有しています。

  • 各ホスト名は、目的のサイトと証明書に到達します。
  • 静的アセットとアプリケーション ルートは、想定されるハンドラを使用します。
  • 構成の検証および再ロードは首尾よく完了しました。
  • ログ、以前のリリース、および回復手順が利用可能です。

Dockerのボリュームとコンテナのネットワークを確認するLinux の比較 VPS デプロイされたスタックの計画

Linux VPSの設定を比較するその他のガイド