IISとAPACHEはHTTPSへのHTTPリダイレクトを実装しています

IISとAPACHEはHTTPSへのHTTPリダイレクトを実装しています

7 の

Microsoft の公式 Web サイトから HTTP Rewrite モジュールをダウンロードします。インストールが完了したら、IIS サービスを再起動します。次に、IIS コンソールを開くと、追加のコンポーネントが表示されます。[URL Rewrite] をダブルクリックし、右側のウィンドウで [ルールの追加] を選択します。空のルールを追加し、ルールにカスタム名を付けます (好きな名前を付けることができます)。たとえば、これを「HTTPS にリダイレクト」と呼び、パターンは (.*) です。条件を追加し、パターンに一致するように {HTTPS} を入力します。パターンは ^OFF$ です。次に、操作を構成します。操作の種類は、リダイレクトです。リダイレクト URL は、https://{HTTP_HOST}/{R:1} です。リダイレクトの種類は、永続的な 301 です。

設定が完了したら、右側の「適用」をクリックすると、URL 書き換えが設定されます。

構成後、ルート ディレクトリの web.config ファイルの内容は次のようになります。

<?xml バージョン="1.0" エンコーディング="UTF-8"?>
<構成>
  <システム.Webサーバー>
    <書き直し>
      <ルール>
        <rule name="HTTPS にリダイレクト" enabled="true" stopProcessing="true">
          <マッチURL="(.*)" />
          <条件>
            <add input="{HTTPS}" pattern="^OFF$" />
          </条件>
          <アクション タイプ="リダイレクト" url="https://{HTTP_HOST}/{R:1}" />
        </ルール>
      </ルール>
    </書き換え>
  </system.webServer>
</構成>

Apache http から https へのジャンプ設定

.htaccess ファイルを変更し、次の行を追加します。

RewriteEngine オン
リライトベース /
書き換え条件 %{HTTPS} != オン
書き換えルール ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

別の書き方は次のとおりです。

RewriteEngineオン
リライトベース /
書き換え条件 %{SERVER_PORT} !^443$
書き換えルール (.*) https://%{SERVER_NAME}/$1 [R=301,L]

nginx の設定

nginx 書き換え方法

アイデア

これは誰もが思いつく最も簡単な方法であるはずです。すべてのhttpリクエストは、書き換えによってhttpsに書き換えることができます。

構成

サーバー{ 
  192.168.1.111:80 を聞きます。 
  サーバー名 test.com; 
   
  ^(.*)$ https://$host$1 を永続的に書き換えます。 
} 

この仮想ホストを設定したら、http://test.com からのすべてのリクエストを https://test.com に書き換えることができます。

nginx 497 ステータス コード

エラーコード 497

497 - 通常のリクエストが HTTPS に送信されました

説明: この仮想サイトがhttpsアクセスのみを許可している場合、httpでアクセスするとnginxは497エラーコードを報告します。

アイデア

error_page コマンドを使用して、ステータス コード 497 のリンクをドメイン名 https://test.com にリダイレクトします。

構成

サーバー{
listen 192.168.1.11:443; #ssl ポート
listen 192.168.1.11:80; #ユーザーはhttp経由でアクセスするのに慣れており、80を追加し、497ステータスコードを使用して自動的にポート443にジャンプします
サーバー名 test.com;
# サーバーの SSL サポートを有効にする {......}
sslオン;
#PEM形式の証明書ファイルを指定する
ssl_certificate /etc/nginx/test.pem;
#PEM形式で秘密鍵ファイルを指定する
ssl_certificate_key /etc/nginx/test.key;

#http リクエストを https リクエストにリダイレクトする
error_page 497 https://$host$uri?$args;
}

index.html ウェブページを更新

アイデア 上記の方法は両方ともサーバーリソースを消費します。curl を使用して baidu.com にアクセスし、Baidu が baidu.com から www.baidu.com にジャンプする方法を見てみましょう。

Baiduはmetaのrefresh機能を巧みに利用してbaidu.comからwww.baidu.comにジャンプしていることがわかります。したがって、http://test.comの仮想ホストパスに基づいてindex.htmlを書くこともできます。その内容はhttpからhttpsへのジャンプです。

インデックス.html

<html>
<meta http-equiv="refresh" content="0;url=https://test.com/">
</html>

nginx 仮想ホストの設定

サーバー{
192.168.1.11:80 を聴く;
サーバー名 test.com;

位置 / {
#index.htmlは仮想ホストモニターのルートディレクトリに配置されます
ルート /srv/www/http.test.com/;
}
#404 ページを https ホームページにリダイレクトします
エラーページ 404 https://test.com/;
}

追記 上記の 3 つの方法はすべて、nginx に基づいて http リクエストを https リクエストに強制的にジャンプするために使用できます。長所と短所を評価したり、実際のニーズに応じて選択したりできます。

以下もご興味があるかもしれません:
  • IIS 7 で http から https へのリダイレクトを実装する方法
  • IIS7/IIS7.5 URL 書き換え HTTP から HTTPS へのリダイレクト
  • IIS で HTTP アクセスを設定して HTTPS にリダイレクトする

<<:  一般的なイベントを処理するための JavaScript の使用に関する詳細な説明

>>:  MySQL 2級コンピュータ試験共通テストポイント 8つのMySQLデータベース設計最適化方法

推薦する

JavaScript 開発における標準コミットメッセージの重要性の詳細な説明

目次標準コミットメッセージの重要性コミットするコミットリント依存関係をインストールする.commit...

アイデアがWebプロジェクトを公開した後、Tomcatサーバーがプロジェクトとそのソリューションを見つけることができません

概要プロジェクトは正常に作成され、正常にデプロイされましたが、以下に示すように、Tomcat サーバ...

mysqlを完全にアンインストールします。個人テストです!

MySQL をクリーンアンインストールします。個人的にテストしたところ、今回はようやくうまくいきま...

JS でカルーセル効果を実現する 3 つの簡単な方法

この記事では、JSカルーセル効果の具体的なコードを実現するための3つの方法を紹介します。具体的な内容...

Linux curl フォームのログインまたは送信と Cookie の使用に関する詳細な説明

序文この記事では主に、curl を介してフォーム送信ログインを実装する方法について説明します。単一の...

Linuxプロセス監視と自動再起動の簡単な実装方法

目的: Linux では、さまざまな理由でサーバー プログラムがダンプされ、ユーザーの使用に影響する...

vue3 を使用したジグソーパズルゲームのリファクタリングの例

序文プロジェクト内のパズルゲーム(デジタル華容路とも呼ばれる)を再構築するのに 2 日かかりました。...

JavaScript ベースのシンプルなカルーセルの実装

この記事では、シンプルなカルーセルを実装するためのJavaScriptの具体的なコードを参考までに紹...

シンプルな計算機を実装するためのネイティブ js

この記事の例では、参考までに簡単な計算機を実装するためのjsの具体的なコードを共有しています。具体的...

MySQL クエリ データベース容量方法手順

すべてのデータベースの合計サイズを照会する方法は次のとおりです。 mysql> informa...

表に斜めヘッダー効果を出す5つの方法

誰もがテーブルをよく知っているはずです。コード内でよく見かけます。テーブルにスラッシュ ヘッダーを追...

JavaScript における一般的な配列操作

目次1. 連結() 2. 結合() 3. プッシュ() 5. シフト() 6. シフト解除() 7....

CSS3は遷移を高速化し、遅延させる

1. 速度制御機能を使用して、トランジション効果(加速、減速など)の速度曲線を制御します。速度制御機...

Nodejs プラグインと使用方法の概要

このチュートリアルの動作環境: Windows 7 システム、nodejs バージョン 12.19....

本番環境でのMySQLパラメータsql_safe_updatesの使用に関する詳細な説明

序文アプリケーションのバグや DBA の誤操作が発生した場合、テーブル全体が更新される可能性がありま...