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

推薦する

面接の質問: 3 行 3 列のレイアウト、表は結合され、ネストされた表は許可されません

面接の質問で、3 行 3 列のレイアウトが求められます。1 行目の 2 番目の列と 2 行目の 2 ...

Nginx サービスを使用してサブドメイン環境を構築し、2D マップの読み込みパフォーマンスを向上させる方法を説明します。

1. 背景最近、友人が大規模なマップの読み込みが遅いという問題に遭遇しました。iServer のパ...

Docker Swarm サービス オーケストレーション コマンドの詳細な説明

1. はじめにDocker には、タスクを構成する複数の Docker コンテナをオーケストレーショ...

XHTML チュートリアル、XHTML の基礎を簡単に紹介します

<br />この記事では、XHTMLとXHTMLの基礎知識について簡単に紹介します。 X...

Mysql ルートユーザーアカウントのパスワードをリセットする問題を解決する

問題の説明: mysqladmin.exe を使用してコマンドを実行すると、次のエラー メッセージが...

Centos 7.4 サーバーの時刻同期設定方法 [NTP サービスに基づく]

この記事では、CentOS 7.4 サーバーで時刻同期を構成する方法について説明します。ご参考までに...

HTMLのposition属性の使い方(4種類)の詳しい説明

位置の 4 つのプロパティ値は次のとおりです。 1.相対的な2.絶対3.修正4.静的これら 4 つの...

Xshell を使用して VMware 上の Linux 仮想マシンに接続する (グラフィック手順)

はじめに: 最近 Hadoop プラットフォームの構築を勉強し始めたので、ローカルマシンに VMwa...

ハイパーリンクアイコンの仕様: 記事の読みやすさを向上

1. ハイパーリンクアイコンの仕様とは?<br />ハイパーリンクアイコンの仕様は、「C...

WeChatアプレットを少なく使う方法(最適な方法)

序文私は less/sass を書くことに慣れていますが、小さなプログラムを開発するときには、まだ ...

docker を使用して influxdb と mongo をデプロイするための一般的なコマンド

Docker ベースのデータベースをデプロイするsudo docker pull influxdb ...

ページのキャッシュを防ぐソリューション

解決: <head> に次のコードを追加します。コードをコピーコードは次のとおりです。 ...

Vue cli開発に基づく外部コンポーネントVantのデフォルトスタイルの変更の詳細な説明

目次序文1. 少ない2. コンポーネントをインポートする3. 設定ファイルを変更するステップ1: l...

デザインにおけるユーザーエクスペリエンスの背後にある8つのユーザー本能について話す

編集者注: この記事は、Teambition チームの @娄昊川 が寄稿したものです。Teambit...

MySQL で遅いクエリ SQL を見つけて最適化する詳細な例

目次1. 遅いクエリSQLを見つけて最適化する方法a. スローログに基づいてスロークエリSQLを見つ...