Nginx で https をアップグレードする方法

Nginx で https をアップグレードする方法

購入証明書

Alibaba CloudのCloud Shield証明書サービスから購入できます。

証明書をダウンロード

証明書コンソールで Nginx バージョンの証明書をダウンロードします。ローカル コンピューターにダウンロードされた圧縮ファイル パッケージには、次のものが含まれます。

  • .pem ファイル: 証明書ファイル
  • .key ファイル: 証明書の秘密鍵ファイル (証明書の申請時に CSR を自動的に作成するを選択しなかった場合、そのようなファイルは存在しません)

Nginx を設定する

1. Nginx インストール ディレクトリに cert ディレクトリを作成し、ダウンロードしたすべてのファイルを cert ディレクトリにコピーします。証明書を申請する際に自分で CSR ファイルを作成した場合は、対応する秘密鍵ファイルを cert ディレクトリに置いてください。

2. Nginxインストールディレクトリのconfディレクトリにあるnginx.confファイルを開きます。

#ユーザーnobody;
ワーカープロセス 1;

#error_log ログ/error.log;
#error_log ログ/error.log 通知;
#error_log ログ/error.log 情報;

#pid ログ/nginx.pid;

イベント {
  ワーカー接続 1024;
}

http {
  mime.types を含めます。
  デフォルトタイプ アプリケーション/オクテットストリーム;

  #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  # '$status $body_bytes_sent "$http_referer" '
  # '"$http_user_agent" "$http_x_forwarded_for"';

  #access_log ログ/access.log メイン;

  ファイル送信オン;
  #tcp_nopush オン;

  #キープアライブタイムアウト 0;
  キープアライブタイムアウト65;

  gzip on; #gzipを有効にする
  gzip_min_length 1k; #1kb未満のリソースは圧縮されません gzip_comp_level 3; #圧縮レベル[1-9]。圧縮レベルが高いほど圧縮率は高くなりますが、CPUリソースの消費量も多くなります。4程度に設定することをお勧めします。
  gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css; # 複数のスペースで区切られた、圧縮する必要があるリソースの応答タイプ。画像を圧縮することはお勧めしません。その理由を以下に説明します。
  gzip_disable "MSIE [1-6]\."; #正規表現をサポートし、gzipを無効にする条件を設定します。これは、IE6以下ではgzipが有効になっていないことを意味します(IEの下位バージョンではサポートされていないため)。
  gzip_vary on; #「Vary: Accept-Encoding」レスポンスヘッダーを追加するかどうか server {
    listen 80 default backlog=2048; #http を設定 listen 443 ssl; #https を設定
    server_name ローカルホスト;

    ssl_certificate ../cert/hzzly.pem; #証明書ファイルの設定 ssl_certificate_key ../cert/hzzly.key; #秘密鍵ファイルの設定 ssl_session_cache shared:SSL:1m;
    ssl_session_timeout 5分;

    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers をオン;

    位置 / {
      ルート /home/hzzly;
      インデックス index.html index.htm;
    }

    # 場所 ^~ /apis/ {
    # proxy_set_header ホスト $host;
    # proxy_set_header X-Real-IP $remote_addr;
    # proxy_set_header X-Forwarded-Server $host;
    # # /apis/ で始まるリクエストに一致し、他の場所との一致は停止します
    # proxy_pass http://xxxxxxxxxx/;
    # }

    # 場所 ^~ /assets/ {
    # gzip_static オン;
    # 有効期限が最大になります。
    # add_header Cache-Control を公開します。
    # }
  }
}

3. Nginxを再起動する

$ cd /usr/local/nginx/sbin
$ ./nginx -s リロード

エラーの詳細

1. NginxでSSLモジュールが有効になっていない場合、Httpsの設定時にエラーメッセージが表示されます。

nginx: [emerg] 「ssl」パラメータには、... の ngx_http_ssl_module が必要です。

NginxはSSLモジュールを有効にする

ソース パッケージに切り替えます。

$ cd /usr/local/src/nginx-1.16.0

新しい構成パラメータを変更する

$ ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

設定が完了したら、コマンドを実行します。

$ make //ここでmake installを実行しないでください。そうしないとインストールが上書きされます。

インストール済みの元のnginxをバックアップする

$ cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

元のnginxを新しくコンパイルしたnginxで上書きする

$ cp ./objs/nginx /usr/local/nginx/sbin/

Nginxを再起動する

$ cd /usr/local/nginx/sbin
$ ./nginx -s リロード

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • WeChat ミニプログラム サーバー環境の構成の詳細 (SSL、Nginx HTTPS、TLS 1.2 アップグレード)

<<:  ES5とES6の違いを分析する

>>:  MySQLで論理SQLを置き換える際の落とし穴を回避する方法の詳細な説明

推薦する

クリーンなXHTML構文

XHTML を書くには、明確な HTML 構文が必要です。 XHTMLを書くには、きれいなHTML構...

JSデータ型検出のさまざまな方法の概要

目次背景データ型を決定する方法は何ですか? 1. typeof を使用して基本データ型を決定します。...

Spark と Scala を使用して Apache アクセス ログを分析する方法

インストールまず、Java と Scala をインストールし、次に Spark をダウンロードしてイ...

Vue の NetEase Cloud Music Player インターフェースを模倣したシンプルな実装プロセス

仕事のプロジェクトのニーズにより、曲の再生が必要となり、さまざまな資料を参考にして、NetEase ...

CSS3はアニメーション効果を実現するためにvar()とcalc()関数を使用する。

ナレッジポイントをプレビューします。アニメーションフレーム背景グラデーションvar() と calc...

1 つの記事で Nginx ロケーション マッチングの実装を理解する

チームはフロントエンドとバックエンドを分離しているため、フロントエンドが Nginx とノード層を引...

MySQL 学習ノート ヘルプ ドキュメント

システムヘルプを表示help contents mysql> ヘルプコンテンツ; ヘルプ カテ...

mysql5.7.19 zip 詳細なインストールプロセスと構成

MySQL v5.7.19 正式版(32/64 ビットインストール版および zip 解凍版) 1. ...

MySQL インデックスのカーディナリティの概念と使用例

この記事では、例を使用して、MySQL インデックス カーディナリティの概念と使用方法を説明します。...

Centos7のホスト名を変更する3つの方法

方法 1: hostnamectl の変更ステップ1 ホスト名を確認するホスト名ステップ2 ホスト名...

Win7 での Mysql 5.7.17 winx64 インストール チュートリアル

ソフトウェア バージョンとプラットフォーム: MySQL-5.7.17-winx64、win7 Ho...

HTML でよく使用されるエスケープ文字の概要

HTML でよく使用されるエスケープ文字をまとめると次のようになります。 &nbsp; 改行...

SQL 文で OR と AND を混在させる場合のヒント

現在、このような要件があります。ログインした人がカスタマー サービス担当者である場合、注文は「このカ...

親子コンポーネントの通信を解決するための3つのVueスロット

目次序文環境の準備カテゴリコンポーネントアプリのコンポーネント1. デフォルトスロット2. 名前付き...