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 の int、char、varchar のパフォーマンスを比較する

インターネットには、真実のように見える「噂」がたくさんあります。もちろん、悪意のあるものではありませ...

CSSスタイルシートとフォーマットレイアウトの詳細な説明

スタイルシートCSS (カスケーディング スタイル シート) は、HTML Web ページを美しくす...

Macでのファイル権限の表示と設定の詳細な説明

序文Mac システムのターミナルでファイルの権限を変更するには、Linux の chmod コマンド...

HTML ページ適応幅テーブル

WEB アプリケーションのページでは、テーブルがよく使用されます。列の数が限られているため、各列のコ...

Mac 向け MySQL のインストールと設定のチュートリアル

この記事では、MacでのMySQLインストールチュートリアルを参考までに紹介します。具体的な内容は次...

JavaScript の toLocaleString() での時間フォーマットに関する新しいアイデア

目次1. 時刻表示に関する従来の考え方2. 時刻の書式設定 toLocaleString() Obj...

MySQLクエリインターセプトの詳細な分析

目次1. クエリの最適化1. MySQLチューニングの概要2. 小さなテーブルが大きなテーブルを動か...

MySQLからElasticsearchにデータを同期する方法の詳細な説明

目次1. 同期の原理2. ログスタッシュ入力JDBC 3. go-mysql-elasticsear...

入力テキストボックスの入力実装プロパティを無効にする

今日は、開発でよく使われる、非常に便利な HTML タグをいくつかまとめてみたいと思います。これらの...

Linux で静的ルーティングを追加するための 2 つの実装方法の分析

ルートを追加するコマンド: 1.ルート追加route add -net 192.56.76.0 ne...

CSS のフィルター属性とバックドロップフィルターの適用と違いの詳細な説明

フィルターとバックドロップフィルターにはいくつかの違いがあります。フィルターは現在の要素だけでなく、...

Axios はリクエストをキャンセルし、重複リクエストを回避します

目次起源現状リクエストをキャンセル cancelTokenリクエスト方法の変更重複したリクエストを避...

Vue でよく使われる高階関数と包括的な例

1. 配列のよく使われる高階関数配列があり、その配列に対して次の操作を実行したいとします。 100 ...

Linux シェル環境での Zabbix API の使用

Linux シェル環境で直接呼び出すことができます。公式 Web サイトによると、Zabbix のデ...

Vueはシンプルな計算機を実装する

この記事では、参考までに、Vue の具体的なコードで簡単な計算機を実装する方法を紹介します。具体的な...