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

推薦する

Centos システムの指定された場所に Nginx をインストールする方法

Centos システムの指定された場所に Nginx をインストールするにはどうすればいいですか?は...

MySQLインスタンスクラッシュ事例の詳細な分析

[問題の説明]私たちの実稼働環境には、複数の MySQL サーバー (MySQL 5.6.21) の...

CPU、マシンモデル、メモリなどの情報を表示するLinuxシステム

システムメンテナンス中は、いつでも CPU 使用率を確認し、対応する情報に基づいてシステムの状態を分...

js の一般的でない演算子と演算子の概要

一般的な演算子と JavaScript の演算子の概要カテゴリオペレーター算術演算子+、–、*、/、...

ハイパーリンクを開くターゲットのテスト

リンクのターゲット属性は、リンクが開く場所を決定します。その値は通常、_blank、_self、_p...

Vueはプログレスバーの変更効果を実現します

この記事ではVueを使ってプログレスバーの変更を簡単に実装してみましたので参考にしてください。具体的...

Tomcatでcatalina.batがUTF-8に設定されている場合、コンソールに文字化けした文字が表示されます

1. catalina.bat は UTF-8 に設定する必要があります。UTF-8 に設定しないと...

Zabbix パスワードをリセットする方法 (ワンステップ)

問題の説明長い間アカウントパスワードを入力して Zabbix にログインしていないため、管理者パスワ...

英語のシングルクォーテーション「''」を含むSQLの記述の失敗について徹底解説

問題が発生しました。情報の編集をテストする際、編集した内容に一重引用符 (') が含まれてい...

Vue3 における provide と inject の使用法と原則

序文:親コンポーネントと子コンポーネント間でデータを渡す場合、通常は props と emittin...

HTML+CSSで充電水滴融合特殊効果コードを実現

目次序文:成し遂げる:要約:まず効果を見てみましょう: 序文:このアイデアは、Bilibili のア...

Linux 環境の Apache サーバーでセカンダリドメイン名を設定する方法の詳細な説明

この記事では、Linux 環境の Apache サーバーでセカンダリ ドメイン名を構成する方法につい...

Dockerでプロジェクトを実行する方法

1. プロジェクトwarが保存されているディレクトリを入力しますDockerfileを編集する vi...

React Contextの理解と応用についてお話ししましょう

目次序文React Context の初見コンテキストの使い方コンテキストを直接取得できるいくつかの...

行間隔が広い場合の解決策(IE では 5 ピクセル多い)

コードをコピーコードは次のとおりです。 li {幅:300px; 高さ:23px; 行の高さ:24p...