Nginx リバース プロキシのデバイスとブラウザのフィンガープリントに基づく ACL 構成
モバイルインターネットや多端末の普及により、Webサイトへのアクセス方法やデバイスの種類はますます豊富になってきています。 Web サイトの安定性とセキュリティを確保するために、Web サイト サーバーはリバース プロキシを実行する必要があり、さまざまなデバイスとブラウザの種類を制限する必要もあります。これには、Nginx リバース プロキシでデバイスとブラウザのフィンガープリントに基づく ACL 設定を使用する必要があります。 。
Nginx リバース プロキシとは何ですか?
Nginx リバース プロキシは、サーバーがクライアントとして機能して他のサーバー リソースにアクセスするプロキシ方式です。簡単に説明すると、クライアントとサーバーの間にプロキシサーバーを追加し、クライアントはプロキシサーバーにリソースを要求し、プロキシサーバーは実サーバーにリソースを要求し、要求結果をクライアントに返します。この方法により、サーバーへの負荷が効果的に軽減され、Web サイトのパフォーマンスと信頼性が向上します。
Nginx リバース プロキシの ACL 設定
ACL (アクセス コントロール リスト、アクセス コントロール リスト) は、クライアントによって要求された IP アドレスを決定するために使用される Nginx リバース プロキシの機能です。メソッド、URL、その他の条件でフィルタリングおよび制限します。 ACL では、デバイスの種類とブラウザの種類に基づいて制限することもできます。
デバイスやブラウザの種類が異なればレンダリング方法や仕様も異なるため、異なるページ構造、スタイル、リソースを提供するなど、これらの特性に基づいて異なる対応を行うことができます。同時に、ACL 設定を通じて特定のデバイスまたはブラウザからのリクエストを制限し、Web サイトのセキュリティと安定性を向上させることもできます。
デバイスとブラウザのフィンガープリントに基づく ACL 構成
現在、デバイスとブラウザの種類は非常に多く、それらを 1 つずつ手動で構成するのは明らかに非現実的です。しかし幸いなことに、Nginx リバース プロキシはサードパーティ モジュールの deviceatlas を提供しており、これを通じてデバイスとブラウザの種類を自動的に識別できます。
deviceatlas モジュールをインストールします
CentOS を例として、最初に必要な依存関係をインストールします。
sudo yum install gcc-c pcre-devel zlib-devel
次に、deviceatlas モジュールをダウンロードし、解凍してインストールします。
sudo wget -O ~/deviceatlas.tar.gz https://github.com/devicedetection/device-nginx/archive/master.tar.gz
sudo tar zxvf ~/deviceatlas.tar.gz -C ~/
cd ~/device-nginx-master
sudo ./configure --add-module=$PWD
sudo make && sudo make install
上記の手順を完了すると、Nginx で deviceatlas モジュールを使用できるようになります。
Nginx リバース プロキシの構成
Nginx 構成ファイルに次の構成を追加します:
http {
deviceatlas /usr/share/devicedata/51Degrees.dat; map $device_is_mobile $acl { "" block_ua; "true" allow; "false" block_ua; } map $device_brand_name $brand_map { "~Huawei" "huawei.com"; "~Samsung" "samsung.com"; "~Apple" "apple.com"; default "default.com" } server { listen 80; server_name server.com; location / { if ($acl = "allow") { proxy_pass http://backend; } if ($acl = "block_ua") { return 403; } } location /brand { proxy_pass http://$brand_map; } }
}
Analysis上記の設定:
最初に deviceatlas モジュールを使用してデバイス情報ファイルをロードします;
map コマンドを使用してデバイスを「モバイル」と「非モバイル」に分類します。デバイスが分類された後は、さまざまなデバイス タイプに応じて異なる応答を簡単に行うことができます;
別のマップ コマンドを使用して、デバイスのブランド名を対応するバックエンド サーバーのドメイン名にマップします;
Nginx リバース プロキシ サーバーでは、リクエスト URL と一致するロケーション ディレクティブを使用します。現在のリクエストがモバイル デバイスからのものである場合、プロキシ リクエストは許可されます。現在のリクエストが不明なデバイスまたは非デバイスからのものである場合は、プロキシ リクエストが許可されます。 -モバイル デバイス、プロキシ リクエストは許可されていません;
指定された URL をリクエストするとき、リクエストがモバイル デバイスから送信され、ブランドが Huawei、Samsung、または Apple の場合、リクエストは対応する URL にプロキシされます。それ以外の場合、リクエストが不明なデバイスまたは非モバイル デバイスから送信された場合、またはブランドがアイテムのいずれにも一致しない場合、リクエストはデフォルト サーバーにプロキシされます。
概要
デバイスとブラウザのフィンガープリントに基づく ACL 構成は、Nginx リバース プロキシ サーバーのフィルタリングと、多様なアクセス デバイスと多様なアクセス方法への対応に役立ちます。 Nginx リバース プロキシ サーバーは、deviceatlas モジュールを使用してデバイスのブランド、モデル、ブラウザの種類を自動的に識別し、特定の条件に基づいて対応する ACL 構成を作成することで、Web サイトのパフォーマンス、セキュリティ、安定性を向上させることができます。
以上がNginx リバース プロキシのデバイスとブラウザのフィンガープリントに基づく ACL 構成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











クラウドサーバーでnginxドメイン名を構成する方法:クラウドサーバーのパブリックIPアドレスを指すレコードを作成します。 NGINX構成ファイルに仮想ホストブロックを追加し、リスニングポート、ドメイン名、およびWebサイトルートディレクトリを指定します。 nginxを再起動して変更を適用します。ドメイン名のテスト構成にアクセスします。その他のメモ:SSL証明書をインストールしてHTTPSを有効にし、ファイアウォールがポート80トラフィックを許可し、DNS解像度が有効になることを確認します。

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

nginxが開始されるかどうかを確認する方法:1。コマンドラインを使用します:SystemCTLステータスnginx(Linux/unix)、netstat -ano | FindStr 80(Windows); 2。ポート80が開いているかどうかを確認します。 3.システムログのnginx起動メッセージを確認します。 4. Nagios、Zabbix、Icingaなどのサードパーティツールを使用します。

Windowsでnginxを構成する方法は? nginxをインストールし、仮想ホスト構成を作成します。メイン構成ファイルを変更し、仮想ホスト構成を含めます。 nginxを起動またはリロードします。構成をテストし、Webサイトを表示します。 SSLを選択的に有効にし、SSL証明書を構成します。ファイアウォールを選択的に設定して、ポート80および443のトラフィックを許可します。

nginxバージョンを照会できるメソッドは次のとおりです。nginx-vコマンドを使用します。 nginx.confファイルでバージョンディレクティブを表示します。 nginxエラーページを開き、ページタイトルを表示します。

NGINXサーバーを起動するには、異なるオペレーティングシステムに従って異なる手順が必要です。Linux/UNIXシステム:NGINXパッケージをインストールします(たとえば、APT-GetまたはYumを使用)。 SystemCtlを使用して、NGINXサービスを開始します(たとえば、Sudo SystemCtl Start NGinx)。 Windowsシステム:Windowsバイナリファイルをダウンロードしてインストールします。 nginx.exe実行可能ファイルを使用してnginxを開始します(たとえば、nginx.exe -c conf \ nginx.conf)。どのオペレーティングシステムを使用しても、サーバーIPにアクセスできます

Docker Containerの起動手順:コンテナ画像を引く:「Docker Pull [Mirror Name]」を実行します。コンテナの作成:「docker create [options] [mirror name] [コマンドとパラメーター]」を使用します。コンテナを起動します:「docker start [container name or id]」を実行します。コンテナのステータスを確認してください:コンテナが「Docker PS」で実行されていることを確認します。

Dockerでコンテナを作成します。1。画像を引く:Docker Pull [ミラー名]2。コンテナを作成:Docker Run [Options] [Mirror Name] [コマンド]3。コンテナを起動:Docker Start [Container Name]
