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つの方法の詳細な説明

推薦する

Ubuntu Linux に Git と GitHub をインストールして使用する

Git 入門Git は、Linux(R) カーネル開発の管理を支援するために 2005 年に Lin...

固定、流動的、柔軟なウェブページレイアウトの長所と短所の分析

ウェブデザイナーを長い間悩ませてきた疑問があります。それは、固定レイアウト、流動的レイアウト、柔軟レ...

MySQLデータベースの管理者パスワードを忘れた場合の解決策

1. コマンド mysqld --skip-grant-tables を入力します (前提条件: m...

react-navigation6.xルーティングライブラリの基本的な使い方の詳しい説明

目次react-nativeプロジェクトの初期化react-nativeプロジェクトをインストールす...

HTML で入力プロンプトのテキスト スタイルを変更するためのサンプル コード

多くのウェブサイトでは、入力ボックスにヒントテキストが表示されています。入力ボックスにヒントテキスト...

HTML コードの書き方に関する提案のまとめ

リソースファイルのプロトコルを省略する画像、メディアファイル、スタイル、スクリプトの URL では、...

MySQL インデックス使用状況監視スキル (収集する価値あり!)

概要リレーショナル データベースでは、インデックスは、データベース テーブル内の 1 つ以上の列の値...

パーティショニングを使用して数十億のデータに対する MySQL データ処理を最適化する方法

MySQL が数千万のデータをクエリする場合、ほとんどのクエリ最適化の問題はインデックスを通じて解決...

Windows 8 での MySQL Community Server 5.6 のインストールと設定のチュートリアル

この記事では、Windows 8 での MySQL5.6 のインストールと設定のチュートリアルを記録...

Ubuntu システムにおける Mysql ERROR 1045 (28000): ユーザー root@localhost へのアクセスが拒否される問題の解決方法

最初の方法: skip-grant-tables: 非常に便利なmysql起動パラメータ非常に便利な...

Zabbix 監視ソリューション - 最新の公式バージョン 4.4 [推奨]

ザビックス2019/10/12 チェンシン参照するhttps://www.zabbix.com/do...

mycat を使用して MySQL データベースの読み取りと書き込みの分離を実装する例

MyCATとはエンタープライズアプリケーション開発のための完全にオープンソースの大規模データベースク...

アイデア展開Tomcatサービス実装プロセス図

まずプロジェクトの成果物を構成するスタートアップ項目の設定 Tomcatサービスを作成する開始したい...

SQL 実践演習: オンライン モール データベース ユーザー情報データ操作

オンラインショッピングモールデータベース - ユーザー情報データ運用プロジェクトの説明電子商取引の台...

JS は Web ページナビゲーションバーの特殊効果を実現します

この記事では、ネイティブ JS を使用して実装された実用的な Web ナビゲーション バー効果を紹介...