https ウェブサイトを展開し、Nginx でアドレス書き換えを構成するための詳細な手順

https ウェブサイトを展開し、Nginx でアドレス書き換えを構成するための詳細な手順

Nginx は、高性能な Web サイト サーバーおよびリバース プロキシ サーバーであり、IMAP、POP3、SMTP などのメール プロキシ サーバーでもあります。nginx は、Web サイトを公開するための Web サイト サーバーとして使用したり、負荷分散を実現するためのリバース プロキシとして使用したりできます。この記事では、Nginx を使用して https Web サイトを展開し、centos6.9 環境でアドレス書き換えを構成する方法について説明します。

1.環境準備: Centos6.9ホスト1台、ファイアウォールとSelinuxをオフにする

依存パッケージをインストールします: yum -y install openssl-devel pcre-devel gcc

nginx ユーザーを作成します:

useradd -M -s /sbin/nologin nginx #Nginxユーザーのホームディレクトリを作成しません。対話型シェルはありません。
tar -xf nginx-1.8.0.tar.gz
nginx-1.8.0をインストールします
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module 
 --http_ssl_module を使用する
(--with-http_ssl_module は、https ウェブサイトを展開するときにインストールする必要があるセキュリティ モジュールのインストールを指定します。/usr/local/nginx ディレクトリを事前に作成する必要はありません)
作成 && インストール
cd /usr/local/nginx
ls /usr/local/nginx 

conf #nginx 設定ファイルの保存 logs #サービス ログと PID ファイルの保存 html #Web サイトのページを保存 sbin #実行可能なメイン プログラム ディレクトリ

2. スタートアップ プログラムを /usr/sbin/ パスにリンクします。

ln -s /usr/local/nginx/sbin/nginx /usr/sbin/

nginx コマンド:

nginx # サービスを開始します nginx -s stop # サービスをシャットダウンします nginx -s reload # 設定ファイルを再読み込みします nginx -t # 設定ファイルをテストします nginx -v # バージョン情報を表示します nginx -V # コンパイルオプションを表示します

サービスを開始: nginx

IP 経由で Web サイトをテストし、正常にアクセスできるかどうかを確認します。次のページが表示された場合、Web サイトの構成が成功したことを意味します (現時点では、デフォルトの http ページは 1 つだけです)。

3. openssl を使用して証明書を生成し、https ウェブサイトを構成します。

/usr/local/nginx/conf をコピーします。

openssl genrsa -out my.key #RSAアルゴリズムの秘密鍵を生成する

openssl req -new -x509 -key my.key -out my.crt #公開鍵に相当するサブ署名証明書を生成する

証明書の場所を指定するには、nginx 構成ファイルを変更します。

vim /usr/local/nginx/conf/nginx.conf
……
サーバー{
 443 ssl を聴く;
 サーバー名 www.test.com;
 ssl_certificate my.crt; #証明書の場所を指定します。デフォルトでは、現在のディレクトリで検索されます。 ssl_certificate_key my.key; #秘密鍵の場所を指定します location / { 
  root /var/www/html; # 区別を容易にするために、http ウェブサイト パスとは別に、Web ページ ファイルのルート パスを指定します。index index.html;
  }
}

変更が完了したら、設定ファイルを再読み込みします: nginx -s reload

mkdir -p /var/www/html
echo "ssl テスト" >/var/www/html/index.html 

4. アクセス検証を実行します。

http アクセスの効果は次のとおりです。

https アクセスの効果は次のとおりです。

5. http アドレスの書き換えを設定して、クライアントが http にアクセスするときに自動的に https にジャンプするようにします。

vim /usr/local/nginx/conf/nginx.conf
……
 サーバー{
  聞く 80;
  サーバー名 www.test.com;
  rewrite ^(.*)$ https://${server_name}$1 permanent; #httpアクセス要求を受信したらhttpsにリダイレクトする
  位置 / {
   ルートhtml;
   インデックス index.html index.htm;
  }

変更が完了したら、構成ファイルを再ロードします。

nginx -s reload

6. 再度アクセスして確認します。

http プロトコル経由で Web ページにアクセスすると、自動的に https にジャンプします。

ドメイン名が解決されない場合は、ホストレコードを追加し、ドメイン名と IP の対応をホストファイルに記述してください。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Nginx サーバーで Web クローラーをブロックおよび禁止する方法
  • Nginx リバース プロキシと負荷分散の実践
  • Django+uwsgi+Nginxのベストプラクティスをオンラインで詳細に解説
  • Nginx のパラメータをオンにして Web パフォーマンスを 3 倍向上させる方法
  • PHP を使用して Nginx ログのユーザーエージェント データをカウントする方法
  • CentOS7 のシステム サービスに Nginx を追加する方法
  • nginx を使用して同じドメイン名で複数の Vue プロジェクトをデプロイし、リバース プロキシを使用する方法
  • Nginx 設定ファイルの差異を監視し、電子メールアラートを送信する Python 実装例
  • nginx+php実行リクエストの動作原理の詳細な説明
  • 高並列処理 nginx サーバー向け Linux カーネル最適化構成の説明

<<:  JavaScriptにおけるこのポインティング問題の詳細な説明

>>:  Debian 9 システムに MySQL データベースをインストールする方法

推薦する

JS配列の次元削減のいくつかの方法の詳細な説明

2次元配列の次元削減配列インスタンスメソッド concat と ES6 スプレッド演算子を使用した次...

MySQLの基本操作学習ノートテーブル

テーブルを作成テーブルテーブル名を作成create table if not exists 表名 m...

MySQL における 8 つの一般的な SQL 使用例

序文MySQL は、2016 年もデータベースの人気において力強い成長傾向を維持し続けました。 My...

MySQL トリガーの追加、削除、変更、クエリ操作の例

この記事では、例を使用して、MySQL トリガーの追加、削除、変更、およびクエリ操作について説明しま...

Vue でコンポーネントを一括インポート、登録、使用する方法

序文コンポーネントは、非常に頻繁に使用されるものです。多くの人は、コンポーネントを 1 つのファイル...

MySQLデータベースを操作するためのコマンドラインツールmycliの簡単な紹介

GitHub にはあらゆる種類の魔法のツールがあります。今日、私はデータベースを操作するためのコマン...

JavaScript のプロトタイプとプロトタイプチェーンの詳細な説明

目次プロトタイプチェーン図プロトタイピングに必須の知識プロトタイププロパティ(プロトタイプを表示) ...

mysql charset=utf8 本当に意味が分かりますか

1. まずテーブル作成ステートメントを見てみましょう テーブル学生を作成( sid int 主キー ...

Js における new 演算子の役割の詳細な説明

序文Js は現在最も一般的に使用されているコード操作言語であり、その中でも new 演算子は特によく...

MySQL のテーブル内のレコード数を制限する方法

目次1. トリガーソリューション2. パーティションテーブルソリューション3. 一般的な表領域ソリュ...

ポートマッピング後に Docker コンテナが突然接続に失敗する問題のトラブルシューティング プロセス

1. 背景通常、外部サービスを提供する必要がある Docker コンテナの場合、起動時に -p コマ...

MySQLが2つのテーブルを関連付ける際のエンコードの問題と解決策

Mysqlが2つのテーブルを関連付けると、次のエラーメッセージが生成されます:照合順序の不正な組み合...

MySQL外部キーの基本的な機能と使用方法の詳細な説明

この記事では、例を使用して、MySQL 外部キーの基本的な機能と使用方法を説明します。ご参考までに、...

Vue+SpringBoot で Alipay サンドボックス決済を実装するためのサンプルコード

まず、Alipay サンドボックスから一連のものをダウンロードします。多くのブログで取り上げられてお...