Nginx 運用保守ドメイン名検証方法例

Nginx 運用保守ドメイン名検証方法例

インターフェイス ドメイン名を構成する際、各パブリック プラットフォームはドメイン名に対する開発者の構成権限を検証し、ランダムなテキストと文字列を生成し、ドメイン名のルート ディレクトリに配置されたものにドメイン名を介して直接アクセスできるようにすることで、検証に合格します。

この例では、ドメイン名 abc.com がルート ルートを介して 6CysNYj8Hb.txt にアクセスできることを確認します。応答本文は文字列 01df2ddab4774ba2676a5563ccb79ffa です。

$ カール https://abc.com/6CysNYj8Hb.txt
01df2ddab4774ba2676a5563ccb79ffa

解決策1

ルートを持つサーバーの場合は、nginx サービスを再起動せずに、このディレクトリにランダムなドキュメントを配置するだけです。

解決策2

ルートを一致させ、ランダムドキュメントが配置されているディレクトリを指定して、nginx を再起動します。

場所 ~* 6CysNYj8Hb\.txt {
 ルート /data/ftp;
}

オプション3(推奨)

ルートを一致させ、検証する必要があるランダムな文字列を直接返します。nginx を再起動する必要があります。

場所 = /6CysNYj8Hb.txt {
 デフォルトタイプはtext/htmlです。
 200 '01df2ddab4774ba2676a5563ccb79ffa' を返します。
}

参照する

Nginx ロケーション設定を最初から行う

nginx 設定はテキストまたは json を返します

補足: Nginx ドメイン名リダイレクト

1. 設定ファイルtest.com.confを変更する

[root@jimmylinux-001 vhost]# vim test.com.conf

サーバ
{
  聞く 80;
  サーバー名 test.com test2.com test3.com;
  インデックス index.html index.htm index.php;
  ルート /data/wwwroot/test.com;
  $host != 'test.com' の場合 {
    ^/(.*)$ http://test.com/$1 を永続的に書き換えます。
  }

}

2. カールテスト

[root@jimmylinux-001 仮想ホスト]# /usr/local/nginx/sbin/nginx -t
nginx: 設定ファイル /usr/local/nginx/conf/nginx.conf の構文は正常です
nginx: 設定ファイル /usr/local/nginx/conf/nginx.conf のテストが成功しました

[root@jimmylinux-001 vhost]# /usr/local/nginx/sbin/nginx -s リロード

[root@jimmylinux-001 仮想ホスト]# curl -x127.0.0.1:80 test2.com/index.html -I
HTTP/1.1 301 永久に移動
サーバー: nginx/1.12.1
日付: 2018年6月7日(木)16:47:36 GMT
コンテンツタイプ: text/html
コンテンツの長さ: 185
接続: キープアライブ
場所: http://test.com/index.html

[root@jimmylinux-001 vhost]# curl -x127.0.0.1:80 test2.com/admin/index.html -I
HTTP/1.1 301 永久に移動
サーバー: nginx/1.12.1
日付: 2018年6月7日(木)16:48:08 GMT
コンテンツタイプ: text/html
コンテンツの長さ: 185
接続: キープアライブ
場所: http://test.com/admin/index.html

[root@jimmylinux-001 vhost]# curl -x127.0.0.1:80 test3.com/admin/index.html/adjlfj -I
HTTP/1.1 301 永久に移動
サーバー: nginx/1.12.1
日付: 2018年6月7日(木)16:48:35 GMT
コンテンツタイプ: text/html
コンテンツの長さ: 185
接続: キープアライブ
場所: http://test.com/admin/index.html/adjlfj

[root@jimmylinux-001 vhost]# curl -x127.0.0.1:80 test4.com/admin/index.html/adjlfj -I
HTTP/1.1 404 見つかりません
サーバー: nginx/1.12.1
日付: 2018年6月7日(木)16:48:43 GMT
コンテンツタイプ: text/html
コンテンツの長さ: 169
接続: キープアライブ

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  Nest.js のハッシュと暗号化の例の詳細な説明

>>:  MySQL で誤って削除したテーブル データを回復する方法 (必読)

推薦する

CSS を使用してサブ要素に応じて異なるスタイルを記述する方法

達成すべき効果: 必要なもの1枚、2枚、3枚とスタイルが異なります。子要素の判定はjsで完結できます...

Nginx ベースの HTTPS ウェブサイトを設定する手順

目次序文:暗号化アルゴリズム: 1. HTTPS の概要2. NginxはHTTPSウェブサイト設定...

JavaScript 中断要求に対するいくつかの解決策の詳細な説明

目次1 約束呼び出しチェーンを中断する約束を破る中止メソッドのラッピング - Axios の Can...

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

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

MySQL 5.7 解凍版のインストールとアンインストール、およびよくある問題の概要

1. インストール1. ダウンロードMySQLをダウンロードするには、MySQL公式サイトhttp:...

opensslを使用して無料の証明書を生成する方法

1: openssl とは何ですか? その機能は何ですか?適用シナリオは何ですか? Baidu 百科...

JavaScript タイマー原理の詳細な説明

目次1. setTimeout() タイマー2. setTimeout() タイマーを停止する3. ...

Vue+Element UI でサマリーポップアップウィンドウを実装するプロセス全体

シナリオ: 検査文書には n 個の検査詳細があり、検査詳細には n 個の検査項目があります。実装効果...

フォームにファイルをアップロードした後にアクションを保存するよう促す理由と解決策

jsonデータはhtml形式で返される必要がありますつまり、 response.setContent...

MySQLで更新可能なビューを作成する方法の詳細な説明

この記事では、例を使用して、MySQL で更新可能なビューを作成する方法について説明します。ご参考ま...

MySQLデータベーステーブルの容量を確認する方法の例

この記事では、MySQL のデータベース テーブルの容量を確認するためのコマンド ステートメントを紹...

h5入力ボックスプロンプト+通常のテキストボックスプロンプトを実装する方法

XML/HTML コードコンテンツをクリップボードにコピー<入力 id = "ユーザ...

モバイルデバイスにおける適応レイアウトの問題に関する簡単な説明 (レスポンシブ、rem/em、Js ダイナミクス)

3G の普及により、携帯電話を使ってインターネットにアクセスする人が増えています。モバイル デバイ...

Linux で削除できないファイル/フォルダの解決方法

序文最近、弊社のサーバーがハッカーの攻撃を受け、一部のファイルの属性が変更されたため、ウイルスファイ...

ウェブ開発で遭遇した問題と経験

<br />以下は開発中に遭遇した問題と、そこから得た経験です。デバッグに時間がかかりま...