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 トランザクション同時実行問題の解決

推薦する

MySQL の悲観的ロックと楽観的ロックの使用例

悲観的ロック悲観的ロックは、データを悲観的であるとみなします。データをクエリするときに、ロックを追加...

docker+gitlab+gitlab-runnerの詳細なデプロイメント

環境サーバー: centos7クライアント: ウィンドウCentos7 に docker+gitla...

既存のMySQLデータベースの文字セットを統一する方法

序文データベースでは、一部のデータ テーブルとデータは latin1 であり、一部のデータ テーブル...

CentOS 8にdockerをインストールする最も詳細な方法

CentOS 8にDockerをインストールする公式ドキュメント: https://docs.doc...

Vueは、センシティブな単語フィルタリングコンポーネントを検出するためのさまざまなアイデアを実装しています。

目次前面に書かれた要件分析 v1アイデア1: インターセプションメソッドを使用して入力ボックスの入力...

vsftpd ユーザーが ssh 経由でログインすることを禁止する方法

序文vsftp は使いやすく安全な FTP サーバー ソフトウェアです。システムユーザーまたは仮想ユ...

Linuxサーバーのファイアウォールを変更してポートへのリモートアクセスを許可する方法

1. 問題の説明セキュリティ上の理由から、新しく構築されたサーバー クラスターでは、指定されたポート...

Vue ElementUI フォームのフォーム検証

フォーム検証は、フロントエンド開発プロセスで最もよく使用される機能の 1 つです。私の個人的な仕事経...

MySQL トランザクション分離レベルと MVCC の詳細な説明

目次トランザクション分離レベル同時トランザクション実行中に発生した問題SQL標準の4つの分離レベルM...

CentOS に Docker をインストールし、Springboot で Docker をリモート公開する方法

目次1. CentOS7.0へのJDK1.8のインストール2. Dockerのインストール3.Doc...

in() の ID の順序に従った Mysql クエリ結果の順序の詳細な説明

in() の ID の順序に従った Mysql クエリ結果の順序の詳細な説明コード例: <se...

HTML リスト タグ dl、ul、ol の使用例

コードをコピーコードは次のとおりです。 <!--リストタグ: <dl>: 階層リス...

新しいユーザーを作成し、MySQLに権限を付与する最も簡単な方法

ユーザーを作成します: 'oukele' によって識別されるユーザー 'ou...

Ubuntu でディスク容量不足により MySQL が起動しない場合の解決策

序文最近、データベースのテーブルに 2 つのフィールドを追加しました。その後、ディスク容量不足のよう...

nginx が複数のプロキシ層を通過して実際の送信元 IP を取得するプロセスの詳細な説明

質問Nginx は $remote_addr を実際の IP アドレスとして受け取りますが、実際には...