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データベース設計最適化方法

推薦する

html-webpack-plugin の使用方法の詳細な説明

最近、React プロジェクトで初めてhtml-webapck-pluginプラグインを使用しました...

Windows システム mysql5.7.18 インストール グラフィック チュートリアル

Windows システム向け MySQL インストール チュートリアルダウンロード1. https:...

WebページのレイアウトではIE6の互換性の問題を考慮する必要があります

下の図は、当社のウェブサイト統計システムの訪問者詳細におけるブラウザ閲覧率を示しており、IE6 が ...

MySQLのSQL文はインデックスを使用しません

インデックス集約を使用しない MySQL クエリご存知のとおり、インデックスを追加することはクエリ速...

HTML の長いテキストは、タグの幅を超えると自動的に切り捨てられます。

長いテキストを表示する場合、C# 側で文字をインターセプトする必要があることがよくありますが、長いテ...

Dockerを使用してgitlabコミュニティの中国語版を構築する詳細なプロセスを教えます

1. Docker Composeを使用して起動を構成するDocker Compose を知らない場...

ソースコードの観点からキープアライブコンポーネントのキャッシュ原理に答える

今日は、早速本題に入り、面接中に尋ねられた質問、つまりキープアライブ コンポーネントのキャッシュ原理...

Linux で lvm 論理ボリューム パーティションのサイズを調整するチュートリアル (xfs や ext4 などのさまざまなファイル システム用)

序文システムをインストールしたときに、パーティション領域を適切に割り当てませんでした。その後のメンテ...

MySQL データ型の選択原則

目次小さいけれど美しいシンプルにNULL値を避けるデータタイプを選択する手順データ型の紹介1. 文字...

dockerエラーの原因分析 終了しました (1) 4分前

Dockerエラー1. 原因を確認するdocker ログ ネクサス2. エラーの原因OpenJDK ...

Nginx+SpringBoot による負荷分散の実装例

負荷分散の概要Nginx の負荷分散実装を紹介する前に、負荷分散の分類について簡単に説明します。負荷...

MySQL アップグレードのベストプラクティス

MySQL 5.7 には、オンライン DDL、マルチソース レプリケーション、拡張された半同期、テー...

Mysql5.7 サービスを開始できません。グラフィカル ソリューション チュートリアル

p>「サービス」で手動で起動すると、 コンソールから起動します: 次に、...\MySQL S...

単一のdivの正多角形変換を実現する純粋なCSS

前回の記事では、beforeとafterの擬似要素を使用してMaterial Designスタイルの...

JavaScript 改ざん防止オブジェクトの使用例

目次JavaScript 改ざん防止オブジェクト1. 拡張不可能なオブジェクト2. 封印された物体3...