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 手ぶれ補正機能の実装と使用シナリオ

推薦する

MySQL累積計算実装方法の詳しい説明

目次序文需要分析MySQL ユーザー変数累積計算にMysqlユーザー変数を使用する要約するこの記事で...

MySQL のクラスター化インデックスとクラスター化インデックスの成長の仕組みを理解する

このノートでは、 MySQL の B+Tree インデックスとは何ですか?クラスター化インデックスは...

HTML webpackプラグインの使用に関する簡単な分析

html-webpack-pluginプラグインを使用してページを開始すると、htmlページをメモリ...

PrometheusはGrafanaディスプレイを使用してMySQLを監視します

目次Prometheusはエクスポーターを介してMySQLを監視し、Grafanaチャートで表示しま...

Linux で大きなファイルの内容を消去または削除する 5 つの方法

Linux ターミナルでファイルを操作しているときに、Linux コマンドライン エディターでファイ...

IE6 で PNG-24 形式の画像を正常に表示させる 2 つの方法

方法1: </html>の後に次のコードを追加してください。コードをコピーコードは次のと...

Vueカスタムコンポーネントは双方向バインディングを実装します

シナリオ:一般的に使用される親コンポーネントと子コンポーネント間の相互作用方法は次のとおりです。親コ...

MySQL InnoDBとMyISAMの違いを簡単に理解する

序文MySQL は、myisam、innodb、memory、archive、example など、...

Mysql論理アーキテクチャの詳細な説明

1. 全体的なアーキテクチャ図他のデータベースと比較すると、MySQL は、そのアーキテクチャがさま...

hrefを使用すると、リンクをクリックするだけでページ上の特定の場所にジャンプできます。

ページ内の a タグをクリックした後、ページ内の対応する場所にジャンプするようにします。方法は非常に...

MYSQL の解凍版における中国語の文字化け問題の解決方法

MYSQLの解凍バージョンがインストールされます1: 解凍後、my.ini ファイルをコピーし、バイ...

LinuxでMySQLのリモートアクセス権を有効にし、ファイアウォールでポート3306を開きます。

mysqlのリモートアクセス権を有効にするデフォルトでは、MySQL ユーザーにはリモート アクセ...

経験豊富な人が、プロフェッショナルで標準化されたMySQL起動スクリプトの開発方法を紹介します。

シェル スクリプト言語は、すべてのプログラミング言語の中で最も単純な言語であるため、資格のある Li...

MySQL 5.7 インストール不要の設定グラフィックチュートリアル

Mysql は人気があり、使いやすいデータベース ソフトウェアです。以下は、mysql の無料インス...

MySQL データベース設計 3 つのパラダイム例分析

3つのパラダイム1NF: フィールドは分離不可能です。 2NF: 主キーがあり、非主キー フィールド...