Nginx ドメイン名 SSL 証明書の構成 (Web サイトの http を https にアップグレード)

Nginx ドメイン名 SSL 証明書の構成 (Web サイトの http を https にアップグレード)

序文

HTTP と HTTPS

日常生活でよく使われる URL は、おおまかに次の 2 種類に分けられます。

1 つは http プロトコルに基づいています (例: http://www.baidu.com)。

1 つは https://www.baidu.com のような https プロトコルに基づいています。

現在、多くの Web サイトがセキュリティ上の理由から Web サイトのドメイン名アクセスを http から https にアップグレードしています。http と https の概念がわからない場合は、次の記事を読んでみてください: HTTP と HTTPS の違いは何ですか?

SSL証明書

では、http を https にアップグレードするにはどうすればよいでしょうか?

http を https にアップグレードする必要があり、まず SSL 証明書が必要です。 SSL は、学部の学位証明書のようなものだと考えてください。この学部の学位証明書があれば、自分が学部生であることを証明でき、学部生基準で採用に応募することができます。もちろん、証明書は異なる機関によって発行されることがあります。たとえば、清華大学の学部卒業証書と、普通の三流大学の学部卒業証書の価値は明らかに異なります。 SSL 証明書についても同様であり、発行機関も異なります。

構成

ドメイン名と SSL 証明書を取得したら、ドメイン名の URL を https にアップグレードできます。一般的な方法は、Nginx でドメイン名の SSL 証明書を構成することです。

具体的なプロセス

訪問を開始する

(1)以下では、自分のウェブサイトを使用して、個人ウェブサイトのSSL証明書を設定し、ウェブサイトをSSLにアップグレードします。

私は自分のウェブサイト (http://www.zyqok.cn/fj.jpg) の写真を訪問しました。これは http 訪問です。

ここに画像の説明を挿入

(2)その後、httpsアクセスに変更しましたが、アクセスできないことがわかりました。

ここに画像の説明を挿入

これから正式に開始し、ウェブサイトを https リクエスト アクセスに変更します。

サーバーにNginxをインストールする

まず、サーバーにNginx環境をインストールする必要があります。サーバーにすでにNginxがインストールされている場合は、この手順をスキップできます。Nginxがインストールされていない場合は、

SSL証明書を取得する

Alibaba Cloud からサーバーを購入したので、Alibaba からいくつかの無料の SSL 証明書が提供されます。以下は、Alibaba Cloud から SSL 証明書を取得するプロセスの説明です。
Alibaba Cloud の顧客でない場合は、この手順をスキップして、Baidu で「SSL 証明書」を検索し、関連メーカーから購入するか、Baidu で「無料の SSL 証明書」を検索してください。

(1)Alibaba Cloudにログインし、[SSL証明書]列を見つけてクリックします(この機能はすでに有効になっているため、場所が異なる場合がありますので、パネルに移動して自分で見つけてください)。

ここに画像の説明を挿入

(2)このパネルに到達したら、[証明書を購入]をクリックします。

ここに画像の説明を挿入

(3)無料モデルを選択して購入する

ここに画像の説明を挿入

(4)購入が完了すると、該当する記録がページに表示されるので、[証明書を申請]をクリックします。

ここに画像の説明を挿入

(5)次に、アップグレードしたいドメイン名を入力します。たとえば、個人のウェブサイトhttp://www.zyqok.cnをhttps://www.zyqok.cnにアップグレードしたいとします。
このとき、ドメイン名を zyqok.cn として入力し、その他の情報を入力して [次へ] をクリックすると、証明書が上記に送信され、レビュー ステータスが入力されます。

ここに画像の説明を挿入

(6)申請が承認されると、SSL証明書をダウンロードできるようになります。右下の[ダウンロード]をクリックします。

ここに画像の説明を挿入

(7)Nginxの後に[ダウンロード]を選択し続けます

ここに画像の説明を挿入

(8)ダウンロードが完了すると、SSL証明書の圧縮パッケージが取得できます。

ここに画像の説明を挿入

SSL証明書をサーバーにアップロードする

(1)まず証明書パッケージを解凍すると、次の2つのファイルが得られます。

ここに画像の説明を挿入

(2)FTPツールを使用してこれら2つのファイルをサーバーにアップロードし、Nginx設定ファイルと同じディレクトリに配置します。

ここに画像の説明を挿入

設定を変更して再起動します

(1)Nginx.conf設定ファイルを開き、ポート443と80のサーバー情報を次のように設定します。
詳細な手順については、Alibaba Cloudのドキュメント「Nginx/TengineサーバーへのSSL証明書のインストール」を参照してください。

# httpsへの直接アクセス 
 サーバ
 {
  	文字セット utf8;
	聞く 443;
	ルート /opt/local;
	サーバー名 www.zyqok.cn; 
	sslオン;
	ssl_証明書 3067072_zyqok.cn.pem;
	ssl_certificate_key 3067072_zyqok.cn.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 をオン;
	
 }
 
 # http から https へジャンプ
 サーバ 
 {
    聞く 80;
	サーバー名 zyqok.cn;
	^/(.*) https://www.zyqok.cn を永久に書き換えます。
 }

(2)青いボックスの内容は、ドメイン名とSSL証明書に関連するファイルであることに注意してください。

ここに画像の説明を挿入

(3)次にNginxサービスを再起動します。

nginxのsbinディレクトリに入り、次のコマンドを入力してnginxサービスを再起動します。

./nginx -s リロード

ここに画像の説明を挿入

(4)Alibaba Cloudサーバーの場合は、ポート80とポート443を開くことを忘れないでください。そうしないと、アクセスできなくなります。

設定方法がわからない場合は、こちらの記事を参照してください: Alibaba Cloud セキュリティルールの設定

ここに画像の説明を挿入

再度訪問

(1)https(ポート443)で直接アクセスすると、問題ないことが分かります。

ここに画像の説明を挿入

(2)その後http(ポート80)でアクセスすると自動的にhttpsにジャンプしますが、これも問題ありません。

ここに画像の説明を挿入

ここまでで、SSL 証明書を構成する方法を学習しました。読んでくれてありがとう!

以下もご興味があるかもしれません:
  • SSL モジュール構成を使用して HTTPS アクセスをサポートする nginx の詳細な説明
  • HTTPS アクセスを実現するための Nginx 構成 SSL 証明書の詳細な説明
  • nginx で SSL 証明書を設定して https サービスを実装する方法
  • SSL証明書を使用してnginxを構成し、httpsアクセスを実装する例
  • HTTPS ウェブサイトを展開するために SSL 証明書を使用して Nginx を構成する方法 (証明書の発行)
  • nginx ssl を設定して https アクセスを実装する手順 (初心者向け)
  • nginx 環境で SSL 暗号化を構成する (単一および双方向認証、部分的な https)
  • SSL モジュールを使用して nginx を HTTPS アクセスをサポートするように構成する方法
  • NginxはSSLを構成して、httpsのプロセス全体を実装します。

<<:  PythonはデータベースMySQLの解凍バージョンのインストール構成に接続し、問題が発生しました

>>:  JS 手ぶれ補正機能の実装と使用シナリオ

推薦する

Docker で MySQL 接続と設定ファイルの最大数を変更する

1. MySQLイメージを見つける ドッカーps 2. ミラーmysqlイメージを入力する dock...

Dockerコンテナでアプリケーションサービスを自動的に起動する方法の例

コンテナの起動時に Docker コンテナ内のアプリケーション サービスを自動的に起動する場合。 D...

ランダムな文字を生成する Java サンプルコード

サンプルコード: java.util.Random をインポートします。 java.util.UUI...

MySQL シリーズ 6 のユーザーと認証

目次チュートリアルシリーズ1. ユーザー管理1. ユーザーアカウント2. アカウントの追加と削除3....

MySQL データテーブルのパーティション戦略と利点と欠点の分析

目次なぜパーティションが必要なのでしょうか?パーティショニング戦略パーティションの危険性なぜパーティ...

jQueryの競合問題を解決する方法

フロントエンド開発において、$ は jQuery の関数です。$ のパラメータが異なると、実装される...

Alibaba Cloud Docker Yum ソースを使用した Docker 17.03.2 の CentOS7 オンラインインストールの詳細説明

参照ドキュメント公式 Docker インストール ドキュメント: https://docs.dock...

JavaScript における Arguments オブジェクトの使用に関する詳細な説明

目次序文議論の基本概念議論の役割実パラメータと仮パラメータの数を取得する実際のパラメータ値を変更する...

JS を使用して HTML で回転するクリスマスツリーを実装する

<!DOCTYPE ヘムル パブリック> <html> <ヘッド&g...

MySQL 8.0.2 オフラインインストールと設定方法のグラフィックチュートリアル

MySQL_8.0.2のオフラインインストール方法は参考までに。具体的な内容は以下のとおりです。次の...

CentOS/RHEL システムで VLAN タグ付きイーサネット カードを使用する方法

シナリオによっては、Linux サーバー (CentOS/RHEL) の同じイーサネット カード (...

レム適応の一般的なパッケージ3つについて

序文以前、rem適応についての記事を書きましたが、具体的なパッケージは紹介しませんでした。今日は、よ...

JSコードコンパイラMonacoの使い方

序文私が必要としているのは、構文の強調表示、関数プロンプト、自動行折り返し、およびコードの折りたたみ...

CSSとHTMLを組み合わせる4つの方法

(1)各HTMLタグには属性スタイルがあり、CSSとHTMLを組み合わせている。 <div s...

MySQL 2級コンピュータ試験共通テストポイント 8つのMySQLデータベース設計最適化方法

MySQLデータベース設計の8つの最適化方法の詳細は次のとおりです。 1. 最も適切なフィールド属性...