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

推薦する

DockerコンテナでLNMPをコンパイルする例

目次1. プロジェクトの説明2. Nginxイメージの作成3. MySQLイメージの作成4. PHP...

React forwardRefの使い方と注意点

これまで react.forwardRef は react の高階コンポーネントには適用できませんで...

MySQL ベースのストレージエンジンとログの説明 (包括的な説明)

1.1 ストレージエンジンの概要 1.1.1 ファイルシステムストレージファイル システム: オペ...

js の Array.forEach でループを終了する方法の例

目次forEach() メソッドjs の Array.forEach のループから抜け出す方法解決:...

CSSを使用してAndroidシステムの読み込みアニメーションを実装する

Web には一般的な読み込みアイコンが 2 つあります。1 つは iOS の「菊」、もう 1 つは ...

データベース接続のURLの詳細な説明と概要

データベース接続のURLの詳細な説明と概要JDBC URL = プロトコル名 + サブプロトコル名 ...

複数の値を返す MySQL ストアド プロシージャ メソッドの例

この記事では、例を使用して、MySQL ストアド プロシージャで複数の値を返す方法について説明します...

この記事ではMySQLのNULLについて説明します。

目次序文MySQL の NULL 2 NULL占有長3 NULL値の比較4SQLはNULL値を処理す...

Windows 10 での mysql-8.0.17-winx64 のインストール方法

1.公式サイトからダウンロードして解凍する参考: ダウンロード後、zip 圧縮ファイル (mysql...

Win10環境にMysql5.7.23をインストールする際の問題点と落とし穴

たくさんのチュートリアルを読みましたが、うまくインストールできませんでした。しばらく試行錯誤した後、...

入力ボックスのプレースホルダーテキストのデフォルトの色を変更する -webkit-input-placeholder メソッド

HTML5 では、入力用のネイティブ プレースホルダー属性が追加されており、これは高度なブラウザでサ...

JDBC 接続 (MySQL への接続) の 6 ステップのサンプル コード

JDBC の 6 つのステップ: 1. ドライバーを登録する2. データベース接続を取得する3. デ...

FTP環境設定ソリューション(vsftpd)の詳細な説明

1. vsftpdコンポーネントをインストールするインストールコマンド: [root@ink4t ~...

vue3を使用してAppleシステムのサイドメッセージプロンプト効果を模倣する

目次アニメーションプレビューその他のUIライブラリ始めるコンポーネントディレクトリ構造トーストおおよ...