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

推薦する

vue.config.js パッケージ最適化構成

Baiduの情報は多様すぎて目が回ります。心配しないでください。私はあなたのためにそれを体験しました...

UbuntuでMySQLデータベースファイルディレクトリを変更する方法

序文同社の Ubuntu サーバーは、さまざまなシステムのディレクトリを異なる論理パーティションに配...

セマンティック HTML 構造の利点は何ですか?

1つ: 1.セマンティック タグは単なる HTML であり、CSS にはセマンティクスはありません...

HTML マルチメディア アプリケーション: Web ページにフラッシュ アニメーションと音楽を挿入する

1. HTML_falshアニメーションでのマルチメディアの応用(WebページへのFlashアニメー...

MySQLにインデックスを追加する方法

インデックスの簡単な紹介は次のとおりです。インデックスを追加する目的は、データベース クエリのパフォ...

Sublime Text - ブラウザのショートカットキーを設定するための推奨方法

コード効果を異なるブラウザで表示することはよくあることなので、異なるショートカットキーを使用して対応...

Nginx サーバーが Systemd カスタム サービス プロセス分析を追加

1. nginxを例に挙げるyumコマンドを使用してNginxをインストールしましたSystemd ...

Vuex環境の詳細な説明

目次Vuex環境を構築する要約するVuex環境を構築するsrcディレクトリにフォルダstoreを作成...

CSS3 の display:grid、グリッドレイアウトの紹介

1. グリッドレイアウト(グリッド): Web ページをグリッドに分割し、さまざまなグリッドを組み合...

Linuxブートサービスを起動する2つの方法

目次rc.local メソッドchkconfig メソッドrc.local メソッド1 まず自動的に...

CSS はこのように使用できますか?気まぐれなグラデーションの芸術

前回の記事「1行のCSSコードの魅力」では、たった1行のCSSコードで生成できる美しい(奇妙な感じと...

Docker で Confluence をデプロイするための完全な手順

Confluence は有料ですが、クラックして使用できます (購入が推奨され、正規版がサポートされ...

FirefoxのWeb開発者を使用してWebページのスタイルを無効にする方法

前提条件: Web開発者プラグインがインストールされている操作手順: [ツール] -> [We...

MySQLにおける区切り文字の定義と機能の詳細な説明

MySQL を初めて学ぶときは、区切り文字の本当の目的を理解していないかもしれません。区切り文字は、...

Linux でパスワードを入力せずに sudo コマンドを実行する方法

sudo コマンドを使用すると、信頼できるユーザーは別のユーザー (デフォルトでは root ユーザ...