Alibaba Cloud Nginx はドメイン名アクセス プロジェクトを実装するために https を設定します (グラフィック チュートリアル)

Alibaba Cloud Nginx はドメイン名アクセス プロジェクトを実装するために https を設定します (グラフィック チュートリアル)

ステップ1: サードパーティの信頼できるSSL証明書に署名する

Alibaba Cloud で直接、無料の SSL 証明書を申請できます。

ここに画像の説明を挿入

Alibaba Cloudアカウントにログインし、上の検索バーでSSLを検索し、SSL証明書(アプリケーションセキュリティ)をクリックします。

ここに画像の説明を挿入

このページにアクセスしたら、「証明書を購入」をクリックします。

ここに画像の説明を挿入

図に示すように無料のSSL証明書を選択し、「支払い」をクリックします。

ここに画像の説明を挿入

支払いが完了したら、コンソールのホームページに移動し、「証明書申請」をクリックします。

ここに画像の説明を挿入

証明書申請書に記入後、「次へ」をクリックします。

ここに画像の説明を挿入

検証が成功したら、「検証」をクリックしてレビューのために送信します。

ここに画像の説明を挿入

審査に合格したら、ダウンロードボタンをクリックしてください

ここに画像の説明を挿入

nginxの横にあるダウンロードを選択します

ここに画像の説明を挿入

ダウンロードして解凍すると、.keyファイルと.pemファイルが取得されます。これで証明書の申請作業は完了です。これでhttpsの設定を開始できます。

ここに画像の説明を挿入

ステップ2: httpsを構成する

1. CentOS に nginx をインストールする方法については、こちらのブログ記事を参照してください: https://segmentfault.com/a/1190000018109309
2. インストールが完了したら、nginx.conf があるディレクトリを見つけます。私のディレクトリは/etc/nginxです。
3. このディレクトリにキーファイルを保存する新しいフォルダcertを作成します。
4. nginx.conf をクリックして、SSL を設定します。**ここでは nginx のバージョン 1.16 を使用していることに注意してください。1.15 より前の設定はこれとは異なります。 ! **これが私の設定です:

 サーバー{
   listen 443 ssl http2; #HTTPS のデフォルトのアクセス ポート番号を 443 に設定します。ここで HTTPS のデフォルトのアクセス ポートが設定されていない場合、Nginx の起動に失敗する可能性があります。 Nginx 1.15.0 以降の場合は、listen 443 and ssl on ではなく listen 443 ssl を使用してください。
   server_name www.example.xyz; # www.certificatestests.com を、証明書にバインドされたドメイン名に変更します (例: www.example.com)。ワイルドカード ドメイン名証明書を購入した場合は、ワイルドカード ドメイン名に変更する必要があります (例: *.aliyun.com)。
   ルートhtml;

   インデックス index.html index.htm;
   ssl_certificate cert/cert.pem; #ドメイン名.pemを証明書のファイル名に置き換えます。
   ssl_certificate_key cert/cert.key; #ドメイン名.keyを証明書のキーファイル名に置き換えます。
   ssl_session_timeout 5分;
   ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #この暗号化スイートを使用します。
   ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #設定にはこのプロトコルを使用します。
   ssl_prefer_server_ciphers をオン;  
 }

nginx バージョン 1.15 より前の場合は、次のように設定する必要があります。

 listen 443; #HTTPS のデフォルトのアクセス ポート番号を 443 に設定します。ここで HTTPS のデフォルトのアクセス ポートが設定されていない場合、Nginx の起動に失敗する可能性があります。 Nginx 1.15.0 以降の場合は、listen 443 and ssl on ではなく listen 443 ssl を使用してください。
   server_name www.example.xyz; # www.certificatestests.com を、証明書にバインドされたドメイン名に変更します (例: www.example.com)。ワイルドカード ドメイン名証明書を購入した場合は、ワイルドカード ドメイン名に変更する必要があります (例: *.aliyun.com)。
   ルートhtml;
   sslオン;
   インデックス index.html index.htm;
   ssl_certificate cert/cert.pem; #ドメイン名.pemを証明書のファイル名に置き換えます。
   ssl_certificate_key cert/cert.key; #ドメイン名.keyを証明書のキーファイル名に置き換えます。
   ssl_session_timeout 5分;
   ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #この暗号化スイートを使用します。
   ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #設定にはこのプロトコルを使用します。
   ssl_prefer_server_ciphers をオン;  
 }

5. リバースプロキシを設定して、デフォルトポート(通常は80)がプロジェクトのポート8080をプロキシするようにします。つまり、ポート80にアクセスすることでポート8080にアクセスできます。

サーバー{
   listen 443 ssl http2; #HTTPS のデフォルトのアクセス ポート番号を 443 に設定します。ここで HTTPS のデフォルトのアクセス ポートが設定されていない場合、Nginx の起動に失敗する可能性があります。 Nginx 1.15.0 以降の場合は、listen 443 and ssl on ではなく listen 443 ssl を使用してください。
   server_name www.example.xyz; # www.certificatestests.com を、証明書にバインドされたドメイン名に変更します (例: www.example.com)。ワイルドカード ドメイン名証明書を購入した場合は、ワイルドカード ドメイン名に変更する必要があります (例: *.aliyun.com)。
   ルートhtml;

   インデックス index.html index.htm;
   ssl_certificate cert/cert.pem; #ドメイン名.pemを証明書のファイル名に置き換えます。
   ssl_certificate_key cert/cert.key; #ドメイン名.keyを証明書のキーファイル名に置き換えます。
   ssl_session_timeout 5分;
   ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #この暗号化スイートを使用します。
   ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #設定にはこのプロトコルを使用します。
   ssl_prefer_server_ciphers をオン; 
  位置 / {
    proxy_pass http://ip:8080; //ip 独自のサーバーIPを記述します
  }  
 }

設定後に保存し、nginxを再起動します。

nginx -s リロード
 sudo systemctl nginxを再起動します

次に、ファイアウォールがオンになっているかどうかを確認します。通常はオフになっています。オフになっている場合は、オンにする必要はありません。開いている場合は、サーバーのデフォルトポート(通常は80)とポート443を開きます。

クラウドサーバーの場合は、セキュリティグループも設定する必要があります。サーバー管理コンソールを開き、ローカルインスタンスセキュリティグループをクリックします。

ここに画像の説明を挿入

[手動追加] または [クイック追加] をクリックし、デフォルトのポート 80 と 443 を追加して保存します。

ここに画像の説明を挿入

次に、ドメイン名の解決を構成します。ドメイン名コンソールに移動し、「解決」をクリックします。

ここに画像の説明を挿入

レコードの追加をクリック

ここに画像の説明を挿入

次に、サーバーのパブリックIPアドレスを解決し、「確認」をクリックします。

ここに画像の説明を挿入

解析が完了したら、ドメイン名にアクセスできるようになるまで約10分待ちます。プロジェクトのSwaggerドキュメントにアクセスすると、httpsになっていることがわかります(ここでは手動でhttpsと入力する必要があります)

ここに画像の説明を挿入

プロジェクトに正常にアクセスできたことがわかります

参考リンク:

Nginx はドメイン名アクセス プロジェクトを実装するために https を設定します: https://www.jianshu.com/p/e7b9622a63ed

これで、Alibaba Cloud Nginx 構成 https ドメイン名アクセス プロジェクト (グラフィック チュートリアル) に関するこの記事は終了です。より関連性の高い Nginx 構成 https ドメイン名アクセス コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • SSL を実装するために nginx を設定する方法の例
  • Nginx は https ウェブサイト構成コード例を実装します
  • https暗号化アクセス用にnginxを設定するための詳細なチュートリアル
  • Nginxドメイン名転送のhttpsアクセスの実装
  • Nginx設定の原理と実装プロセスの詳細な説明https
  • Nginxはhttpとhttpsの両方のアクセスをサポートするために同じドメイン名を設定します
  • HttpとHttpsの両方をサポートするNginxの詳細な設定
  • 複数のドメイン名に対する Nginx リバース プロキシを使用した HTTP および HTTPS サービスの実装
  • Nginx を使用して https ルートドメイン名への 301 リダイレクトを実装するためのサンプル コード
  • nginx で http でアクセスする Web サイトを https に変更する方法

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

>>:  検証例 MySQL | 同じ値を持つフィールドを更新すると、binlog に記録されます

推薦する

MySQLデータベーステーブルの容量を確認する方法の例

この記事では、MySQL のデータベース テーブルの容量を確認するためのコマンド ステートメントを紹...

Vueはページを更新するために3つの方法を使用する

プロジェクトを作成しているときに、ユーザーがアクションを実行し、特定の状態を変更し、ページを更新して...

ミニプログラムはリストのカウントダウン機能を実装します

この記事の例では、ミニプログラムでリストカウントダウンを実装するための具体的なコードを参考までに共有...

Ubuntu 20.04でルートアカウントを有効にする方法

Ubuntu 20.04 をインストールした後、デフォルトでは root アカウントのログイン権限が...

MySQL トランザクション分離はどのように実現されますか?

目次同時シナリオ書き込む読む読む読み取り-書き込みと書き込み-読み取りMySQL のロック行レベルロ...

Vue で Axios 非同期リクエスト API を使用する方法

目次基本的なHTTPリクエストの設定async/await を使用した Axios Axios によ...

クールなIoT大画面機能を実現するHTML+VUEページング

効果デモ.html <html> <ヘッド> <メタ文字セット=&qu...

MySQL テーブルと列のコメントの概要

コードと同様に、テーブルや列にコメントを追加して、他のユーザーがその機能を理解できるようにすることが...

Vue の v-model ディレクティブと .sync 修飾子の違いの詳細な説明

目次vモデル.sync微妙な違い機能シナリオを要約します。 vモデル <!--親コンポーネント...

MySQLで大きなテーブルをエレガントに削除する方法について簡単に説明します

目次1. 切り捨て操作1.1 MySQL truncate はどのような操作を実行しますか? 1.2...

Linux chkconfig コマンドの使用

1. コマンドの紹介chkconfig コマンドは、システム サービスの実行レベル情報を更新および照...

Docker+jenkins+python3環境を使用して非常に詳細なチュートリアルを構築する

序文:自動化を記述した後、毎日サーバー上で実行する必要があります。このような問題に遭遇しました。Je...

LinuxスレッドのPID(TID、LWP)を取得するいくつかの方法の詳細な説明

Linux C/C++ では、スレッド レベルの操作は通常、pthread ライブラリを通じて実行さ...

WeChat ミニプログラム 宝くじ番号ジェネレーター

この記事では、WeChatアプレットの宝くじ番号ジェネレータの具体的なコードを参考までに紹介します。...

chkconfig および systemctl コマンドを使用して Linux サービスを有効または無効にする方法

これは Linux 管理者にとって重要な (そして素晴らしい) トピックなので、誰もが Linux ...