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を置き換える際の落とし穴を回避する方法の詳細な説明

推薦する

MySQL インポートおよびエクスポートのバックアップの詳細

目次1. MySQLのバックアップタイプの詳細な説明1. バックアップがデータベースに与える影響に基...

MySQL クロスデータベーストランザクション XA 操作の例

この記事では、例を使用して、MySQL のデータベース間トランザクション XA 操作について説明しま...

MySQLはtruncateコマンドを使用してデータベース内のすべてのテーブルを素早くクリアします

1. まずSELECT文を実行して、すべての切り捨て文を生成します。ステートメント形式: selec...

MySQLデータベースのbinlogクリーンアップコマンドの詳細な説明

概要今日は主に、MySQL データベースから binlog ログを正しく削除する方法を紹介します。ロ...

HTML テーブルタグチュートリアル (19): 行タグ

<TR> タグの属性は、次の表に示すように、テーブル内の各行のプロパティを設定するために...

CocosCreator システムイベントがどのように生成され、トリガーされるかについての詳細な説明

目次環境まとめモジュール機能関連文書ソースコード分析CCGame.js CCInputManager...

Win10 MySQLでCSVをエクスポートする2つの方法

Win10 で csv をエクスポートする方法は 2 つあります。1 つ目はツールを使用することです...

Layuiはログインインターフェース検証コードを実装します

この記事の例では、ログインインターフェース検証コードを実装するためのlayuiの具体的なコードを参考...

VueはAmapを使用して都市の位置特定を実現

この記事では、Amapを使用して都市の位置特定を実現するVueの具体的なコードを参考までに共有します...

Eclipse と IDEA 用に Tomcat サーバーを構成する方法

tomcat サーバーの構成誰もが Web について学習するときに、自分のツール用に Tomcat ...

Linux コマンドを素早く習得する 4 つの方法

Linux マスターになりたいなら、いくつかの Linux コマンドを習得することが不可欠です。 L...

Nginx がフロントエンド リソースへのクロスドメイン アクセスの問題をどのように解決するかの詳細な説明

フロントエンドのクロスドメイン問題に2日間近く悩まされましたが、ようやくngnxを使って解決したので...

HTML と埋め込み Flash の両方におけるスクロールバーの分析と処理

開発を行う際に、次のような状況に遭遇することがよくあります。 a.swf が Web ページに追加さ...

CSS メニューボタンアニメーション

ドロップダウンメニューを書くには、ボタンをクリックします。メニューの入り口はアイコンボタンをクリック...

Vue3はフロントエンドのログを出力するためにaxiosインターセプターを使用する

目次1. はじめに2. axiosインターセプターを使用してフロントエンドログを出力する1. はじめ...