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 に記録されます

推薦する

Ubuntu 20.04 オペレーティング システムの VMware インストール チュートリアル図

メモ: とにかく体験してみましょう。記録: NO.209この例の環境:仮想マシン: vmwareオペ...

Linux parted ディスク パーティション実装手順の分析

fdisk と比較すると、parted はあまり使用されず、主に 2T を超えるパーティションに使用...

MySQL でデータをクエリし、条件に基づいて別のテーブルに更新する方法の例

この記事では、MySQL が条件に基づいてデータをクエリし、別のテーブルに更新する方法を例を使用して...

Node.js を使用して C# のデータ テーブル エンティティ クラス生成ツールを作成する方法

Microsoft は T4 テンプレートを提供していますが、使用するのが非常に難しいと思います。ス...

Linux で MySQL データベースのインポートおよびエクスポート コマンドを実装する方法

1. mysqldump コマンドを使用してデータベースをエクスポートします (このコマンドのパスで...

docker インストール後に hello-world を実行する問題を解決する

yumを使用してcentos7.3にDocker V1.13.1をインストールしましたしかし、doc...

Linux システムを起動時に自動的にスクリプトを実行するように設定する方法の例

序文みなさんこんにちは。私は梁旭です。職場では、システムの起動後にスクリプトやサービスを自動的に開始...

自己終了XHTMLタグを書くときに注意すべきこと

XHTMLの img タグは、次のように記述する必要があります: <img alt="...

MySQL ログの設定と表示方法

MySQL には次のログがあります。エラーログ: -log-errクエリログ: -logスロークエリ...

Vue3 がデータ監視を実装するためにプロキシを使用する理由の分析

Vue データの双方向バインディング原則ですが、この方法には欠点があり、配列とオブジェクトの部分的な...

jsフェッチ非同期リクエストの使用の詳細な例

目次非同期を理解するフェッチ(url)レスポンス.json() asyncとawaitを組み合わせる...

CentOS の MySQL に MariaDB をインストールするときに発生する方法と問題

以前にインストールしたmariadbを削除する1. rpm -qa | grep mariadb を...

Linux 3.X/4.x/5.x でパゴダ パネルのパスワードを忘れた場合の解決方法

ssh に入り、次のコマンドを入力してパスワードをリセットします (コマンドの末尾の「testpas...

CSS3 のエラスティック レイアウトでの em の使用の概要: 1em は何ピクセルですか?

私は長い間 CSS を使用してきましたが、Web 要素の関連属性を設定するために常に「px」を使用し...

MySQL 8.0.20 インストール チュートリアル (画像とテキスト付き) (Windows 64 ビット)

1: mysql公式サイトからダウンロードhttps://dev.mysql.com/downlo...