アプリケーションシナリオ1: ドメイン名ベースのリダイレクト 会社の古いドメイン名は www.accp.com です。ビジネス ニーズの変化により、代わりに新しいドメイン名 www.kgc.com を使用する必要があります。古いドメイン名を廃止することはできません。古いドメイン名から新しいドメイン名に移行し、そのパラメータを変更しないでください。 実験環境 Linux サーバー (192.168.13.144) 1. Nginxサービスをインストールする [root@localhost ~]# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm ##nginx 公式ソースのインストール警告: /var/tmp/rpm-tmp.vS0k20: ヘッダー V4 RSA/SHA1 署名、キー ID 7bd9bf62: NOKEY 準備中... ################################### [100%] アップグレード/インストール中... 1:nginx-release-centos-7-0.el7.ngx ##################################### [100%] [root@localhost ~]# yum install nginx -y ##yum install nginx 2. nginxのデフォルト設定ファイルを変更する [root@localhost ~]# vim /etc/nginx/conf.d/default.conf ##デフォルトの設定ファイル server を変更する { 聞く 80; server_name www.accp.com; ##ホスト名を変更する#charset koi8-r; access_log /var/log/nginx/www.accp.com-access.log main; ##ログサービスを開く 3. バインド解決サービスをインストールする [root@localhost ~]# yum install bind -y 4. メイン設定ファイル(named.conf)を変更する [root@localhost ~]# vim /etc/named.conf オプション { listen-on port 53 { any; }; ##すべてをリッスン listen-on-v6 port 53 { ::1; }; ディレクトリ "/var/named"; ダンプファイル "/var/named/data/cache_dump.db"; 統計ファイル "/var/named/data/named_stats.txt"; memstatistics ファイル "/var/named/data/named_mem_stats.txt"; 再帰ファイル "/var/named/data/named.recursing"; secroots ファイル "/var/named/data/named.secroots"; allow-query { any; }; ##すべて許可 5. ゾーン構成ファイル(named.rfc1912.zones)を変更します。 [root@localhost ~]# vim /etc/named.rfc1912.zones ##ゾーン設定ファイルを構成する zone "accp.com" IN { タイプマスター; ファイル "accp.com.zone"; ##accp ゾーン データ構成ファイル allow-update { none; }; }; 6. 地域データ構成ファイル(accp.com.zone)を変更する [root@localhost ~]# cd /var/named/ [root@localhost named]# cp -p named.localhost accp.com.zone ##テンプレートをコピー [root@localhost named]# vim accp.com.zone ##ゾーン構成ファイル $TTL 1D を変更します @ IN SOA @ rname.invalid. ( 1D ; 更新 1H;再試行 1W ; 期限切れ 3H ) ; 最小 NS@ 127.0.0.1 です www IN A 192.168.13.144 ##ローカルアドレス [root@localhost named]# systemctl start named ##DNS サービスを開始 [root@localhost named]# systemctl stop firewalld.service ##ファイアウォールを閉じる [root@localhost named]# setenforce 0 [root@localhost named]# systemctl start nginx ##nginx サービスを開始 [root@localhost named]# netstat -ntap | grep nginx ##ポートを表示 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4093/nginx: master 7. テストマシンでWebページをテストする 8. 設定ファイルを変更し、ドメイン名ジャンプを設定する [root@localhost named]# vim /etc/nginx/conf.d/default.conf ##設定ファイルサーバを変更する { 聞く 80; サーバー名 www.accp.com; #文字セット koi8-r; access_log /var/log/nginx/www.accp.com-access.log メイン; 位置 / { if ($host = "www.accp.com"){ ##ドメイン名が古いドメイン名の書き換えである場合に一致します ^/(.*)$ http://www.kgc.com/$1 permanent; ##その後、ジャンプを新しいドメイン名に永続的に設定します} ルート /usr/share/nginx/html; インデックス index.html index.htm; } 9. 新しいドメイン名解決を追加する [root@localhost named]# vim /etc/named.rfc1912.zones ゾーン "kgc.com" IN { タイプマスター; ファイル "kgc.com.zone"; ##accp ゾーンデータ構成ファイル allow-update { none; }; }; [root@localhost named]# cp -p /var/named/accp.com.zone /var/named/kgc.com.zone ## 地域データ設定ファイルを kgc のデータ設定ファイルとしてコピーします [root@localhost named]# systemctl restart named ## 解決サービスを再起動します [root@localhost named]# systemctl restart nginx ## nginx サービスを再起動します 10. 古いドメイン名でアクセスし、リダイレクトを確認する 11. 古いドメイン名の後にパラメータを追加し、新しいドメイン名にジャンプするときにパラメータがあるかどうかを確認します。 アプリケーションシナリオ2 - クライアントIPに基づくアクセスリダイレクト 会社のビジネスバージョンはオンラインです。すべてのコンテンツにアクセスするすべての IP に、固定メンテナンス ページが表示されます。会社の IP のみ正常にアクセスできます。 1. Nginxのデフォルト設定ファイルを変更する [root@localhost ~]# cd /etc/nginx/conf.d/ [root@localhost conf.d]# vim default.conf サーバー{ 聞く 80; サーバー名 www.accp.com; #文字セット koi8-r; access_log /var/log/nginx/www.accp.com-access.log メイン; #IPが合法かどうかを設定します。set $rewrite true; ##変数をtrueに設定します。#IPが合法かどうかを判断します。 ($remote_addr = "192.168.13.140")の場合{ $rewrite を false に設定します。## 有効な IP に一致し、変数を false に設定して、ページを通常どおりリダイレクトします} # 不正な IP を判断してマークします if ($rewrite = true){ ## 不正な IP と一致し、メインの Web ページにジャンプします rewrite (.+) /main.html; } #タグに一致してサイトにジャンプします location = /main.html { ##ルートに完全一致 /usr/share/nginx/html; ##サイトパス} 位置 / { ルート /usr/share/nginx/html; インデックス index.html index.htm; } 2. 違法IPサイトやメインウェブページの作成 [root@localhost conf.d]# cd /usr/share/nginx/html/ ##サイトに切り替える [root@localhost html]# vim main.html ##不正IPアクセスWebページの内容を編集する <h1>これはテストWebです</h1> [root@localhost html]# systemctl restart nginx ##Nginx サービスを再起動します 3. ウェブページにアクセスする アプリケーションシナリオ3 - 古いドメイン名と新しいドメイン名に基づいてリダイレクトし、ディレクトリを追加する ドメイン名 http://bbs.accp.com のすべての投稿を http://www.accp.com/bbs にリダイレクトし、ドメイン名のリダイレクト後もパラメータを変更しない 1. Nginxのデフォルト設定ファイルを変更する [root@localhost ~]# cd /etc/nginx/conf.d/ [root@localhost conf.d]# vim default.conf ##デフォルトの設定ファイル server を変更する { 聞く 80; server_name bbs.accp.com; ##サービス名を変更#charset koi8-r; access_log /var/log/nginx/www.accp.com-access.log メイン; location /post { ##投稿ディレクトリを一致させるために場所を使用する rewrite (.+) http://www.accp.com/bbs$1 permanent; ##永続的なリダイレクトジャンプ} 2. DNSゾーンデータ構成ファイル(accp.com.zone)を変更する [root@localhost conf.d]# cd /var/named/ [root@localhost named]# vim accp.com.zone ##地域データ設定ファイル $TTL 1D を変更する @ IN SOA @ rname.invalid. ( 0 ; シリアル 1D ; 更新 1H;再試行 1W ; 期限切れ 3H ) ; 最小 NS@ 127.0.0.1 です 192.168.13.144 の BBS [root@localhost named]# systemctl restart named ## 解決サービスを再起動します [root@localhost named]# systemctl restart nginx ## Nginx サービスを再起動します [root@localhost named]# echo "nameserver 192.168.13.144" > /etc/resolv.conf ##解決サーバーのアドレスをローカル解決設定ファイルに入力します 3. Webページをテストする アプリケーションシナリオ4 - パラメータマッチングに基づくジャンプ ブラウザで http://www.accp.com/100-(100|200)-100.html にアクセスして、http://www.accp.com ページにジャンプします。 1. Nginxのデフォルト設定ファイルを変更する [root@localhost ~]# cd /etc/nginx/conf.d/ [root@localhost conf.d]# vim default.conf サーバー{ 聞く 80; サーバー名 www.accp.com; #文字セット koi8-r; access_log /var/log/nginx/www.accp.com-access.log メイン; ($request_uri ~ ^/100-(100|200)-(\d+).html$) の場合{ ## 100 で始まり (100|200)、HTML 書き換え (.*) で終わる 1 つ以上の整数を含む正規表現に一致します http://www.accp.com permanent; ## ホームページに恒久的にリダイレクトします} 2. DNSゾーンデータ構成ファイルを変更する [root@localhost conf.d]# vim /var/named/accp.com.zone ##地域データ設定ファイルを変更する www IN A 192.168.13.144 [root@localhost conf.d]# systemctl restart named ##解析サービスを再起動します [root@localhost conf.d]# systemctl restart nginx ##Nginxサービスを再起動します 3. Webページをテストする アプリケーションシナリオ5 - ディレクトリ内のすべてのPHPファイルに基づいてジャンプする ホームページにジャンプするには、http://www.accp.com/upload/1.php にアクセスしてください。 1. Nginxのデフォルト設定ファイルを変更する [root@localhost ~]# cd /etc/nginx/conf.d/ [root@localhost conf.d]# vim default.conf ##デフォルトの設定ファイル server を変更する { 聞く 80; サーバー名 www.accp.com; #文字セット koi8-r; access_log /var/log/nginx/www.accp.com-access.log メイン; location ~* /upload/.*\.php$ { ## 一致は大文字と小文字を区別しません。アップロード後に .php で終わる 0 個以上の書き換えに一致します (.+) http://www.accp.com permanent; ## ホームページにジャンプします} [root@localhost conf.d]# systemctl restart nginx ##Nginx サービスを再起動します 2. テストウェブページ アプリケーションシナリオ6 - 最も一般的なURLリクエストに基づくリダイレクト 特定のページにアクセスするとホームページにジャンプします 1. Nginxのデフォルト設定ファイルを変更する [root@localhost ~]# cd /etc/nginx/conf.d/ [root@localhost conf.d]# vim default.conf ##Nginxのデフォルト設定ファイルを変更する server { 聞く 80; サーバー名 www.accp.com; #文字セット koi8-r; access_log /var/log/nginx/www.accp.com-access.log メイン; location ~* ^/abc/123.html { ## 特定のウェブページを一致させる rewrite (.+) http://www.accp.com permanent; ## ホームページにジャンプ} [root@localhost conf.d]# systemctl restart nginx ##Nginx サービスを再起動します 2. テストウェブページ 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: JavaScript を使用して div の位置をドラッグして入れ替える例
コンパイル後にAngularプロジェクトをNginxにデプロイする方法をオンラインで検索すると、ほと...
目次1. トランザクションとは何ですか? 2. トランザクションに関連するステートメントは、挿入、削...
MyISAM と InnoDB は、MySQL で最も一般的なストレージ エンジンです。前回の記事で...
暗い背景スタイルのページ デザインは非常に人気があり、シックでエレガント、そして非常にクリエイティブ...
canisue (http://caniuse.com/#search=border-radius)...
ネイティブJSを使用して9つの正方形のグリッドを記述し、9つのグリッドの位置をドラッグして変更する効...
1. リンクハイパーテキスト リンクは HTML において非常に重要です。基本的な形式は次のとおりで...
この記事では、例を使用して MySQL コード実行構造について説明します。ご参考までに、詳細は以下の...
今日、プロジェクトのホームページにアクセスするために Tomcat を設定していたところ、404 エ...
1. 開発環境 vue+vant 2. コンピュータシステム Windows 10 Profess...
WeChat ミニプログラムのネイティブ コンポーネントであるカメラ、キャンバス、入力 (フォーカス...
プロジェクトシナリオ: 1. アップロードファイルの制限関数: 1. フロントエンド操作による異常な...
Windows リモート デスクトップを使用してサーバーに接続したことがある人なら、リモート デスク...
余計なことは言わないで、コードだけ見てみましょう〜 # docker-compose をダウン # ...
まず、イメージをプルします(またはコンテナを作成するだけで、自然にプルされます)。 docker p...