nginx を使用して http を https に変換するサンプルコード

nginx を使用して http を https に変換するサンプルコード

最近、小さなプログラムを書いています。その小さなプログラムの公式ウェブサイトはhttpsを使用する必要があるため、ウェブサイトは以前はhttpを使用しており、Alibaba Cloudサービスを使用していました。そこで、Alibaba Cloudでsslサービスを購入しました。以下は設定プロセスです。

1. まず、Alibaba Cloud にアクセスして SSL を購入します。もちろん無料版もありますが、サポートされるドメイン名は 1 つだけで、同じドメイン名に対して購入できる証明書は 20 個だけです。各詳細サブドメインは 1 つのドメイン名としてカウントされます。

2. SSL 証明書を購入したら、証明書コンソールに移動します。この時点で、情報を入力して審査を待つ必要があります。通常は数分で審査に合格します。

3. 審査後、証明書をダウンロードする必要があります

4. 次に、サーバー上でキーと PEM を設定する必要があります。もちろん、ここではキーを自動的に生成することを選択します。必要に応じて、自分でキーを作成し、Alibaba Cloud の手順に従うこともできます。以下のように表示されます。

 サーバー{
  聞く 443;
  server_name ローカルホスト;
  sslオン;
  ルートhtml;
  インデックス index.html index.htm;
  ssl_証明書 cert/21.pem;
  ssl_certificate_key cert/21.key;
  ssl_session_timeout 5分;
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  ssl_プロトコル TLSv1 TLSv1.1 TLSv1.2;
  ssl_prefer_server_ciphers をオン;
  位置 / {
   ルートhtml;
   インデックス index.html index.htm;
  }
 }

この時点では、nginx を急いで再起動しないでください。まず、nginx が ssl モジュールを追加したかどうかを確認してください。追加されていない場合は、再コンパイルする必要があります。まず、sudo apt-get install openssl libssl-dev を実行して ssl をインストールし、次に nginx ディレクトリに移動して次のステートメントを実行します。

./configure \
 --prefix=/usr/local/nginx \
 --pid-path=/var/run/nginx/nginx.pid \
 --lock-path=/var/lock/nginx.lock \
 --error-log-path=/var/log/nginx/error.log \
 --http-log-path=/var/log/nginx/access.log \
 --with-http_gzip_static_module \
 --http-client-body-temp-path=/var/temp/nginx/client \
 --http-proxy-temp-path=/var/temp/nginx/proxy \
 --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
 --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
 --http-scgi-temp-path=/var/temp/nginx/scgi \
 --add-module=/home/scp/fastdfs-nginx-module/src \
 --with-http_stub_status_module \
 --http_ssl_module を使用する

ステートメントを実行した後、make を実行してから make install を実行します。この時点で、nginx を再起動すると、Alibaba Cloud ポートを自分で設定する必要があるため、外部ネットワークにアクセスできない可能性があります。セキュリティ グループに移動して、ポート 443 のフィルタリングを追加する必要があります。ここでは Ubuntu システムを使用しており、ターミナルで ufw allow 443 を実行する必要があります。その後、呼び出しにアクセスできます。次に、ポート80のアクセスを443にジャンプする必要があります。

サーバー{
聞く 80;
サーバー名 www.domain.com;
^(.*) https://$server_name$1 を永久に書き換えます。
}

nginx を使用して http を https に変換するサンプルコードに関するこの記事はこれで終わりです。nginx の http から https への変換の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Nginx を使用して https ルートドメイン名への 301 リダイレクトを実装するためのサンプル コード
  • nginx で HSTS を有効にしてブラウザを HTTPS アクセスにリダイレクトする方法の詳細な説明
  • nginx ロードバランシングを介して https にリダイレクトする方法
  • NGINX が https から http にジャンプするためのソリューションの詳細な説明
  • PHPプログラマーが遊ぶLinuxシリーズNginx HTTPS詳細説明
  • nginx に https アクセスを強制する方法 (http が https にジャンプします)

<<:  シンプルなドラッグ効果を実現するjs

>>:  MySQL トランザクション同時実行問題の解決

推薦する

ウェブページを作るときに知っておくべきいくつかのスキル

1. IE6 では z-index が無効です。 CSS では、階層を変更するために z-index...

Vueはユーザー名が使用可能かどうかの検証を実装します

この記事では、ユーザー名が使用可能かどうかを確認するためのVueの具体的なコードを例として紹介します...

myisamchk および mysqlcheck ツールを使用して破損した MySQL データベース ファイルを迅速に修復する方法

サーバーのデータベース ハード ディスク領域がいっぱいだったため、大量のデータの書き込みに失敗し、「...

Docker Compose を使用して nginx のロード バランシングを実装する方法

Dockerネットワーク管理とコンテナIP設定に基づいてNginxロードバランシングを実装するすべて...

固定、流動的、柔軟なウェブページレイアウトの長所と短所の分析

ウェブデザイナーを長い間悩ませてきた疑問があります。それは、固定レイアウト、流動的レイアウト、柔軟レ...

タオバオモールのホームページ上の大きな画像のデザイン構造に関する分析と意見(写真)

前回、Taobaoの詳細ページを分析した後(クリックして表示)、ショッピングモールの基本テンプレート...

Mongodb の GUID 表示の問題の詳細な分析

問題を見つける最近、プログラムのストレージを Mongodb に移行したところ、Guid 型が書き込...

Linux システムで Java 環境変数を設定する方法

Java環境変数を設定するここで、環境変数は etc/profile に設定され、つまり、すべてのユ...

uniapp エントリーレベル nvue クライミングピット記録の分析

目次序文こんにちは世界画像 境界線の半径を設定する実ピクセルを設定する外部CSSをインポートttfフ...

Vue 2つのフィールドの共同検証によりパスワード変更機能を実現

目次1. はじめに2. ソリューションの実装2.1 実装コード2.2 コードの説明2.3 検証結果1...

MySQLの場合の使用例分析

まず、データベース テーブルを作成します。 テーブル `t_demo` を作成します ( `id` ...

現在使用されている設定ファイル my.cnf を表示する mysql メソッド (推奨)

my.cnfは、MySQL の起動時に読み込まれる設定ファイルです。通常は MySQL インストー...

熟練デザイナーの7つの原則(1):フォントデザイン

まあ、あなたはデザインの達人かもしれませんし、あるいはそれは大げさすぎるかもしれませんが、少なくとも...

JavaScriptで継承を実装するいくつかの方法

目次構造継承(callで実装)プロトタイプチェーン継承(プロトタイプチェーンの助けを借りて実装)複合...

Dockerコンテナを閉じずに終了する方法の詳細な説明

Docker コンテナに入った後、コンテナを終了すると、コンテナは Exited 状態に変わります。...