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

推薦する

Jsモジュールパッケージのエクスポートの使用法と違いにはインポートが必要

目次1. Commonjsのエクスポートとrequireの使用1.1 CommonJS エクスポート...

mysqlは、現在の時刻が開始時刻と終了時刻の間にあるかどうかを判断し、開始時刻と終了時刻が空であることが許可されます。

目次要件: 進行中のアクティビティ データを照会する次のSQLクエリは、上記の4つの要件を満たし、タ...

Vue のドロップダウン ボックスのセカンダリ リンク効果を実装するためのサンプル コード

1. 成果を達成する 2. バックエンドから返されるデータ形式 「リスト」: [ { "i...

MySQLサーバーが消えたエラーの解決策

PHP で MySQL サーバーが消えた問題1. 背景以前、Codeigniter でコンソール コ...

MySQL で誕生日から年齢を計算する複数の方法

以前はMySQLをあまり使用していなかったため、MySQLの機能にあまり詳しくありませんでした。この...

マウスを動かしたときにセカンダリメニューバーを実装するために HTML+CSS を使用する例

この記事では、マウスを動かしたときにセカンダリ メニュー バーを実装するために HTML+CSS を...

MySQLデュアルマスター(マスターマスター)アーキテクチャ構成ソリューション

企業では、データベースの高可用性は常に最優先事項です。多くの中小企業は、MySQL マスター スレー...

Linux のファイル システム タイプの表示方法の例

Linux でパーティションのファイル システム タイプを確認する方法。パーティションのファイル シ...

CSS3アニメーションを使用して、小さい円から大きい円に拡大し、外側に広がる効果を実現する例

序文この記事では、CSS3アニメーションを使用して、円が小さいものから大きく拡大し、外側に広がる効果...

Linux での rpm、yum、ソースコードの 3 つのインストール方法の詳細な紹介

第1章 ソースコードのインストールRPM パッケージは特定のシステムとプラットフォームに応じて指定さ...

mysql 結合クエリ (左結合、右結合、内部結合)

1. MySQLの一般的な接続INNER JOIN (内部結合、または等価結合): 2 つのテーブ...

CSS メニューボタンアニメーション

ドロップダウンメニューを書くには、ボタンをクリックします。メニューの入り口はアイコンボタンをクリック...

Windows での MySQL の詳細なインストール手順と基本的な使用方法

目次1. MySQLをダウンロードする2. MySQLをインストールする3. MySQL の基本的な...

MySQL で遅い SQL 文を見つける方法

MySQL で遅い SQL ステートメントを見つけるにはどうすればよいでしょうか?これは、多くの人を...

MySQL で時刻と日付の型を保存する際の選択問題を分析する

一般的なアプリケーションでは、timestamp、datetime、int 型を使用して時間形式を保...