Nginx 構成 SSL および WSS 手順の紹介

Nginx 構成 SSL および WSS 手順の紹介

序文

最近、WeChatミニプログラムのリリースにより、ミニプログラムのリリースでは、登録されたサーバーのドメイン名とhttpsリクエスト方式を使用する必要があります。サーバーは以前に登録されています。今回は、ミニプログラムのバックグラウンドサービスを別のサーバーに展開しています。バックグラウンドサービスを再展開したくないので、登録サーバーにNginxをインストールしてSSLを設定し、Nginxを介して別のサーバーにリバースプロキシすることを考えました。

1. Nginxのインストール

著者はTencent Cloud Server Centos 7.5を使用しています。インターネット上にはインストールチュートリアルが多数あります。著者もオンラインチュートリアルに基づいて記録を作成します。主なインストール プロセスでは、Nginx SSL モジュールの構成と追加が必要です。インストールが成功した場合は、この手順をスキップできます。

1. Nginxをダウンロードする

ダウンロードアドレス: /download/ のインデックス

ダウンロードが完了したら、サーバーに転送するか、wget コマンドを使用してダウンロードします。

http://nginx.org/download/nginx-1.9.0.tar.gz をダウンロードしてください

2. 依存関係をインストールする

1) gcc-c++コンパイラをインストールする

yum で gcc-c++ をインストールします
yum インストール -y openssl openssl-devel

2) pcreパッケージをインストールする

yum インストール -y pcre pcre-devel

3) zlibパッケージをインストールする

yum インストール -y zlib zlib-devel

3. Nginxをコンパイルしてインストールする

1) インストールパッケージを解凍する

tar -zvxf nginx-1.9.0.tar.gz

2) nginxディレクトリに切り替えてnginxを設定し、sslモジュールを追加します。

nginx-1.9.0をインストールします
./configure --with-http_ssl_module

./configure --with-http_ssl_module を設定する必要があります。初めてインストールしたとき、デフォルトの設定を直接使用したため、SSL 証明書の設定時にエラーが発生しました。

3) コンパイルしてインストールする

インストールする

4) インストールパスを見つける

nginxはどこにある?

5) インストールディレクトリに切り替え、sbinディレクトリに入り、nginxを起動します。

/usr/local/nginx/sbin./nginx をコピーします。

6) nginxが正常に起動しているか確認する

2. SSL設定

1) 証明書を取得する

著者はここでTencent Cloudを使用しており、無料の証明書を申請してnginxバージョンをダウンロードできます。

2) ダウンロードしたすべての証明書ファイルをサーバーにアップロードし、nginx の conf ディレクトリ (構成ファイルと同じレベル) に配置します。

3) nginx.confファイルを入力し、SSL情報を設定します。

 
#ユーザーnobody;
ワーカープロセス 1;
 
#error_log ログ/error.log;
#error_log ログ/error.log 通知;
#error_log ログ/error.log 情報;
 
#pid ログ/nginx.pid;
イベント {
    ワーカー接続 1024;
}
http {
    mime.types を含めます。
    デフォルトタイプ アプリケーション/オクテットストリーム;
    ファイル送信オン;
    キープアライブタイムアウト65;
    サーバー{
        聞く 443;
        #証明書にバインドされたドメイン名 server_name xxxxx;
	    # 証明書ファイル名。ここでは .pem と .crt の両方の証明書ファイルを使用できます。ssl_certificate xxxx.pem;
        # バージョンの問題により、一部のバージョンの設定ファイルではSSLを追加する必要があります
	    sslオン;
	    #秘密鍵ファイル名 ssl_certificate_key xxx.key;
        ssl_session_timeout 5分;
	    ssl_プロトコル TLSv1 TLSv1.1 TLSv1.2;
	    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
	    ssl_prefer_server_ciphers をオン;
        位置 / {
            ルートhtml;
            インデックス index.html index.htm;
        }
 
        #エラーページ 404 /404.html;
 
        # サーバーのエラーページを静的ページ /50x.html にリダイレクトします
        #
        エラーページ 500 502 503 504 /50x.html;
        場所 = /50x.html {
            ルートhtml;
        }
 
	場所 /ctp/{
        # 転送するサーバーのアドレスとポートを入力します proxy_pass http://ip:port;
	}
      
    }
}

詳細な証明書設定チュートリアルについては、Tencent Cloud: SSL 証明書 Nginx サーバー SSL 証明書のインストールと展開 - 証明書のインストール - ドキュメント センター - Tencent Cloud を参照してください。

3.WSS構成

nginx を Websocket プロキシとして構成するのは、想像するよりもはるかに簡単です。HTTP アップグレード プロトコル ヘッダーを使用して、接続を HTTP 接続から WebSocket 接続にアップグレードできます。具体的な構成は次のとおりです。

場所 /ctp/{
            # 転送するサーバーのアドレスとポートを入力します proxy_pass http://ip:port;
            proxy_set_header アップグレード $http_upgrade;
            proxy_set_header 接続 'アップグレード';
        }

Nginx で SSL と WSS を構成する手順に関するこの記事はこれで終わりです。Nginx で SSL と WSS を構成する方法に関する関連コンテンツの詳細については、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Nginx での SSL 証明書のインストールと展開手順の概要
  • SSL を実装するために nginx を設定する方法の例
  • Nginx SSL証明書設定エラーの解決策
  • Nginx ドメイン名 SSL 証明書の構成 (Web サイトの http を https にアップグレード)

<<:  css-loader を使用して vue-cli で css モジュールを実装する

>>:  JSインターセプト文字列の3つの方法の詳細な説明

推薦する

Reactでのこのリファレンスの詳細な説明

目次原因:以下を実行します: 1. コンストラクター2.レンダリング機能3.bind関数とarrow...

HTML の POST リクエストにおける a タグの 2 つの使用法の分析

HTML POST リクエストで a タグを使用する 2 つの例を次に示します。 1. ajaxを使...

ホバー生成の境界線によって生じる要素の移動を解決する方法

序文hover疑似クラスが要素に境界線を追加すると、要素内のコンテンツがずれることがあります。box...

Nginx 設定ファイルの詳細な説明と最適化の提案ガイド

目次1. 概要2. nginx.conf 1) 設定ファイルの場所2) ワーカープロセス3) イベン...

CSS で要素を中央揃えにする N 通りの方法

目次序文インライン要素の中央揃えテキストを垂直に中央揃え要素を水平方向に中央揃えにするブロックレベル...

Windows でのシンプルな Mysql バックアップ BAT スクリプトの共有

序文この記事では、Windows で Mysql をバックアップするための簡単な BAT スクリプト...

Kali Linux インストール VMware ツールのインストール プロセスと VM インストール vmtools ボタン グレー

Xiaobai は vmtools のインストールを記録します。 1. 意義と機能: VMWARE ...

Centos7 での MySQL 5.7.20 のインストールと設定に関する詳細なチュートリアル

1. 公式 Web サイトから MySQL 5.7 インストール パッケージ (mysql-5.7....

Linux\Nginx 環境での仮想ドメイン名の設定とテスト検証

Nginx 仮想ドメイン名設定を使用すると、ドメイン名を購入せずに特定のドメイン名を介してローカル ...

MySQLのREDOログ(リドゥログ)とロールバックログ(アンドゥログ)の詳しい説明

序文:前回の記事では、MySQL システムでよく使用されるログをいくつか説明しました。実は、トランザ...

ベースタグとは何ですか? また、それは何をするのですか?

<base> タグは、ページ上のすべてのリンクのデフォルトのアドレスまたはデフォルトの...

Linux システムでの Selenium クローラー プログラムの導入の概要

目次序文1. セレンとは何ですか? 2. 使用手順1. ライブラリをインポートする2. テストコード...

表の最初の行と最初の列を固定し、適応型ウィンドウを実現するための CSS の例コード

今日のキャンパス採用筆記試験では、固定された最初の行と最初の列を実装し、幅をウィンドウの変更に適応さ...

JavaScript の高度なクロージャの説明

目次1. 閉鎖の概念追加の知識ポイント: 2. 閉鎖の役割: 3. 閉鎖例3.1 liをクリックする...