nginx を使用して http を https に変換するサンプルコード

nginx を使用して http を https に変換するサンプルコード

最近、小さなプログラムを書いています。その小さなプログラムの公式ウェブサイトはhttpsを使用する必要があるため、ウェブサイトは以前はhttpを使用しており、Alibaba Cloudサービスを使用していました。そこで、Alibaba Cloudでsslサービスを購入しました。以下は設定プロセスです。

1. まず、Alibaba Cloud にアクセスして SSL を購入します。もちろん無料版もありますが、サポートされるドメイン名は 1 つだけで、同じドメイン名に対して購入できる証明書は 20 個だけです。各詳細サブドメインは 1 つのドメイン名としてカウントされます。

2. SSL 証明書を購入したら、証明書コンソールに移動します。この時点で、情報を入力して審査を待つ必要があります。通常は数分で審査に合格します。

3. 審査後、証明書をダウンロードする必要があります

4. 次に、サーバー上でキーと PEM を設定する必要があります。もちろん、ここではキーを自動的に生成することを選択します。必要に応じて、自分でキーを作成し、Alibaba Cloud の手順に従うこともできます。以下のように表示されます。

 サーバー{
  聞く 443;
  server_name ローカルホスト;
  sslオン;
  ルートhtml;
  インデックス index.html index.htm;
  ssl_証明書 cert/21.pem;
  ssl_certificate_key cert/21.key;
  ssl_session_timeout 5分;
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  ssl_プロトコル TLSv1 TLSv1.1 TLSv1.2;
  ssl_prefer_server_ciphers をオン;
  位置 / {
   ルートhtml;
   インデックス index.html index.htm;
  }
 }

この時点では、nginx を急いで再起動しないでください。まず、nginx が ssl モジュールを追加したかどうかを確認してください。追加されていない場合は、再コンパイルする必要があります。まず、sudo apt-get install openssl libssl-dev を実行して ssl をインストールし、次に nginx ディレクトリに移動して次のステートメントを実行します。

./configure \
 --prefix=/usr/local/nginx \
 --pid-path=/var/run/nginx/nginx.pid \
 --lock-path=/var/lock/nginx.lock \
 --error-log-path=/var/log/nginx/error.log \
 --http-log-path=/var/log/nginx/access.log \
 --with-http_gzip_static_module \
 --http-client-body-temp-path=/var/temp/nginx/client \
 --http-proxy-temp-path=/var/temp/nginx/proxy \
 --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
 --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
 --http-scgi-temp-path=/var/temp/nginx/scgi \
 --add-module=/home/scp/fastdfs-nginx-module/src \
 --with-http_stub_status_module \
 --http_ssl_module を使用する

ステートメントを実行した後、make を実行してから make install を実行します。この時点で、nginx を再起動すると、Alibaba Cloud ポートを自分で設定する必要があるため、外部ネットワークにアクセスできない可能性があります。セキュリティ グループに移動して、ポート 443 のフィルタリングを追加する必要があります。ここでは Ubuntu システムを使用しており、ターミナルで ufw allow 443 を実行する必要があります。その後、呼び出しにアクセスできます。次に、ポート80のアクセスを443にジャンプする必要があります。

サーバー{
聞く 80;
サーバー名 www.domain.com;
^(.*) https://$server_name$1 を永久に書き換えます。
}

nginx を使用して http を https に変換するサンプルコードに関するこの記事はこれで終わりです。nginx の http から https への変換の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Nginx を使用して https ルートドメイン名への 301 リダイレクトを実装するためのサンプル コード
  • nginx で HSTS を有効にしてブラウザを HTTPS アクセスにリダイレクトする方法の詳細な説明
  • nginx ロードバランシングを介して https にリダイレクトする方法
  • NGINX が https から http にジャンプするためのソリューションの詳細な説明
  • PHPプログラマーが遊ぶLinuxシリーズNginx HTTPS詳細説明
  • nginx に https アクセスを強制する方法 (http が https にジャンプします)

<<:  シンプルなドラッグ効果を実現するjs

>>:  MySQL トランザクション同時実行問題の解決

推薦する

Windows10でmysql8.0.17を置き換える詳細なチュートリアル

この記事では、Windows10でmysql8.0.17を置き換える具体的な手順を参考までに紹介しま...

実稼働環境でのNginx高可用性ソリューションの実装プロセスの分析

準備: 192.168.16.128 192.168.16.129 2 台の仮想マシン。 Nginx...

Angularコンポーネントのライフサイクルの詳しい説明(パート2)

目次1. ビューフック1. ngAfterViewInit および ngAfterViewCheck...

Linuxネットワーク構成ツールの使用

この記事では、RHEL8 のネットワーク サービスとネットワーク構成ツール、およびネットワーク ファ...

Linux デスクトップ用の 4 つのスキャン ツール

ペーパーレスの世界はまだ到来していませんが、書類や写真をスキャンすることで紙をなくす人が増えています...

Vueはv-modelを使用してel-paginationコンポーネントのプロセス全体をカプセル化します。

v-model を使用してページング情報オブジェクトをバインドします。ページング情報オブジェクトに...

Mysqlクエリ条件で文字列の末尾にスペースがあっても一致しない問題の詳細な説明

1. テーブル構造テーブル人id名前1あなた2あなた(スペース) 3あなた(スペース2つ) 2. ク...

win10 での mysql5.7.21 の詳細なインストール手順

この記事では、MySQL 5.7.21のインストールとインストール中に発生した問題を参考までに紹介し...

JavaScript 遅延読み込みの詳細な説明

目次遅延読み込みCSS スタイル: HTML部分:スクリプト部分:要約する遅延読み込み名前の通り、私...

jsのイベントループ機構の解析

序文ご存知のとおり、JavaScript は本質的にシングルスレッドですが、ブラウザは非同期リクエス...

docker runコンテナの自動終了の解決策

今日、Dockerfile を使用してイメージを作成したときに問題が発生し、イメージの実行後にコンテ...

MySQL binlog を開く手順

Binlog は、MySQL データの変更を記録するために使用されるバイナリ ログ ファイルです。B...

nginxのアップストリーム設定と機能の詳細な説明

設定例 アップストリームバックエンド{ サーバー backend1.example.com 重み=5...

無効にしてHTMLフォーム入力を送信した後にフォーム値が取得されない問題を解決する方法

フォーム入力ボックスの入力をdisable属性に設定して送信すると、入力ボックスの値を取得できなくな...

Linux 仮想メモリ設定のチュートリアルと実践

仮想メモリとは何ですか?まずはWikipediaからの紹介文をそのまま引用します。仮想メモリは、コン...