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 ドキュメント クイックスタート

推薦する

Nexus を使用して Docker リポジトリを作成する方法

公式の Docker レジストリを使用して作成されたウェアハウスでは、イメージを削除してもデフォルト...

CSS3 で Taobao に空白スペースを実装する方法

Taobao用の空白スペースを作成します。 ブラウザページを縮小すると、コンテンツ領域は縮小されませ...

WIN2008 サーバーのコマンド ラインを使用して IIS7 コンポーネントをインストールおよびアンインストールする方法

注意: .NET FrameWork はコア モードで実行できないため、コア インストール モードの...

MySQL (8 および 5.7) の Docker インストール

この記事では、Dockerを使用してMySQLデータベースとリモートアクセス構成をデプロイする方法を...

JavaScript を使用して二分探索木を実装する方法

コンピュータ サイエンスで最も一般的に使用され、議論されているデータ構造の 1 つは、二分探索木です...

MySql インデックス使用戦略の分析

MySql インデックスインデックスの利点1. 一意のインデックスまたは主キー インデックスを作成す...

MySQL 8.0.13 手動インストールチュートリアル

この記事では、MySQL 8.0.13の手動インストールチュートリアルを参考までに紹介します。具体的...

Web ベースの電子メール コンテンツの HTML フォーマット標準の概要

1. ページ要件1) 標準のヘッダーとフッターを使用するXML/HTML コードコンテンツをクリップ...

Dockerfileを使用してDockerイメージを構築する手順

Dockerfile は、命令を含むテキスト ファイルです。各命令はレイヤーを構築するため、各命令の...

Linux に nodejs 環境とパス構成をインストールするための詳細な手順

Linux に Node.js をインストールする方法は 2 つあります。1 つは簡単で、解凍して使...

WeChatアプレットが計算機機能を実装

WeChatミニプログラムはますます人気が高まっています。多くの大学生が独学で学んでいるのも見てきま...

Vue elementUI フォームのネストされたテーブルと各行の検証の詳細な説明

目次エフェクト表示コードリンクキーコード表形式データコンポーネントのネスト検証方法リセット方法完全な...

Linuxはnode.jsを完全に削除し、yumコマンドで再インストールします。

最初のステップ組み込みのパッケージ管理機能で一度削除する yum 削除 nodejs npm -y ...

Linux サーバー上のローカル静的リソースにアクセスするために nginx を使用する方法

1. ポート 80 が占有されているかどうかを確認します。通常、ポート 80 は Apache サー...

MySQLトリガーについて深く理解するための記事

目次1. SC テーブルを挿入または変更するときに、テスト スコアが 0 ~ 100 の範囲外の場合...