Nginxはhttpとhttpsの両方のアクセスをサポートするために同じドメイン名を設定します

Nginxはhttpとhttpsの両方のアクセスをサポートするために同じドメイン名を設定します

Nginx は同じドメイン名で構成されており、http と https の両方でアクセスできます。証明書は Alibaba Cloud に無料で適用されます。

サーバ
{
聞く 80;
443 ssl を聴く;
sslオン;
server_name ドメイン名;
インデックス index.html index.htm index.php default.html default.hm default.php;
ssl_certificate /usr/local/nginx/cert/21402058063066221.pem; // 申請後にAlibaba sshから提供されたpemをダウンロードする
ssl_certificate_key /usr/local/nginx/cert/21402058063066221.key; //申請後にAlibaba sshから提供されたキーをダウンロードする
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 をオン;

 
root /home/wwwroot/website ディレクトリ;

include laravel.conf; // さて、これが Laravel の設定です。これはあなたに適していない可能性がありますので、無視してください #error_page 404 /404.html;
enable-php.conf をインクルードします。

場所 ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
有効期限は30日です。
}

場所 ~ .*\.(js|css)?$
{
12時間で期限切れになります。
}

アクセスログ /home/wwwlogs/airclass.mime.org.cn.log;
}

鍵は上記の listen 80 にあります。

443 ssl をリッスン; ポート 80 を開く

もちろん、このように遊んでも意味がありません。https なので、http 経由でデータを送信する必要がありません。すべての http リクエストを https に転送する必要があります。

nginx リダイレクト コマンドは、http を https にリダイレクトするために使用されます。では、リダイレクトはどのように記述すればよいのでしょうか?古いバージョンの nginx では、次のような形式が使用されていた可能性があります。
つまり、別の仮想マシンサーバー、ポート80を追加することです

サーバー{
聞く 80;
サーバー名 www.domain.com;
rewrite ^/(.*) https://$server_name$1 permanent; #Httpsへジャンプ
}

書き直しには、以下のように異なるバージョンがまだある。

^/(.*)$ https://domain.com/$1 を永続的に書き換えます。

または

^ https://domain.com$request_uri? を永久に書き換えます。

現在、nginx の新しいバージョンでは書き込み方法が変更されており、上記の方法は推奨されなくなりました。おそらく、インターネット上には、最初のタイプについて語る記事がまだたくさんあるでしょう。

以下は、nginx http ページを https ページにリダイレクトするための最新のサポートされている方法です。

サーバー{
聞く 80;
server_name ドメイン.com;
301 https://$server_name$request_uri を返します。
}

サーバー{
443 ssl を聴く;
server_name ドメイン.com;

}

しかし、私の nginx/1.10.0 は動作していないようです。おそらくこの書き方はサポートされていないのでしょう...

以下は、http から https に基づく完全な構成です。

サーバ
{
#聞く80;
聞く 443;
sslオン;
server_name domain.com; // あなたのドメイン名index index.html index.htm index.php default.html default.htm default.php;
ssl_certificate /usr/local/nginx/cert/user.medsci-tech.com/214020580630662.pem;
ssl_certificate_key /usr/local/nginx/cert/user.medsci-tech.com/214020580630662.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 をオン;

root /home/wwwroot/web/public; //プロジェクトルートディレクトリ include laravel.conf;
#エラーページ 404 /404.html;
enable-php.conf をインクルードします。

場所 ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
有効期限は30日です。
}

場所 ~ .*\.(js|css)?$
{
12時間で期限切れになります。
}

}
サーバー{
聞く 80;
server_name ドメイン.com;
^/(.*) https://$server_name$request_uri? を永久に書き換えます。
}

同じドメイン名で http と https の両方のアクセスをサポートするように Nginx を構成する方法については、これで終わりです。同じドメイン名で http と https の両方をサポートする Nginx に関する関連コンテンツの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • SSL を実装するために nginx を設定する方法の例
  • Nginx は https ウェブサイト構成コード例を実装します
  • https暗号化アクセス用にnginxを設定するための詳細なチュートリアル
  • Nginxドメイン名転送のhttpsアクセスの実装
  • Alibaba Cloud Nginx はドメイン名アクセス プロジェクトを実装するために https を設定します (グラフィック チュートリアル)
  • Nginx設定の原理と実装プロセスの詳細な説明https
  • HttpとHttpsの両方をサポートするNginxの詳細な設定
  • 複数のドメイン名に対する Nginx リバース プロキシを使用した HTTP および HTTPS サービスの実装
  • Nginx を使用して https ルートドメイン名への 301 リダイレクトを実装するためのサンプル コード
  • nginx で http でアクセスする Web サイトを https に変更する方法

<<:  MySQL 8.0 ディクショナリテーブル拡張の詳細な説明

>>:  Vue3 ドキュメント クイックスタート

推薦する

リアクトルーティングガード(ルーティングインターセプション)の実装

React は Vue とは異なります。ルートにメタ文字を設定することでルートインターセプションを実...

IntelliJ IDEA で Java を使用して MySQL データベースに接続する方法の詳細な説明

1. MySQLデータベースをダウンロードし、インストールして設定するダウンロードアドレス: htt...

新しい ECMAscript オブジェクト機能の紹介

目次1. オブジェクトのプロパティ1.1 属性表記2. プロパティ名を計算する3.オブジェクトメソッ...

MySQLは遅いSQLを開始し、原因を分析します

ステップ1. MySQLスロークエリを有効にする方法1: 設定ファイルを変更するWindows: W...

Win7 での Mysql 5.7.17 winx64 インストール チュートリアル

ソフトウェア バージョンとプラットフォーム: MySQL-5.7.17-winx64、win7 Ho...

MySQLサブクエリの詳細な例

サブクエリの分類返された結果セットによる分類サブクエリは、返される結果セットの違いに応じて、テーブル...

WeChatアプレットでQRコードを識別するために長押しする実装プロセス

序文公式アカウントのQRコードは長押しで認識できることは皆さんご存じですが、ミニプログラムに対する制...

JavaScript を使用して文字列内の最も繰り返しの多い文字を取得する方法

目次トピック分析する使用目的解決:コードは次のように実装されます。分析:配列とポインタ解決:コードは...

CSS におけるスタックコンテキストの具体的な使用法

序文一部の CSS 相互作用の影響により、要素に設定されたz-index実際のサイズに応じて重ね合わ...

DQL コマンドを使用して MySQL でデータをクエリする方法

この記事では、MySQL でよく使用されるデータ クエリ言語について説明します。 DQL (データク...

Dockerコンテナを使用してプロキシ転送とデータバックアップを実装する方法

序文アプリケーションを Docker コンテナとしてサーバーにデプロイする場合、通常はネットワークと...

IE アドレスバーのアイコン表示問題を解決する 3 つの手順

<br />この Web ページ制作スキル チュートリアルは、Web サイトのアイコンを...

Webpack コンポーネントの使用状況統計を実装するための 50 行のコード

背景最近、リーダーからコンポーネント ライブラリを構築するように依頼があり、プロジェクトで現在使用さ...

vue.js ルーターのネストされたルートの実例

目次序文Vue CLI での設定基本コードVueルーターの登場ネストされたルートの設定要約する序文V...