サーバーは以前、不可抗力のために障害が発生しました。
時間は不確定ですが、私は寝ているかもしれませんし、オンラインで対応できるかもしれません。
そこで、私はこのような簡単なツールを作りましたが、前提として、ドメインが cloudflare にホストされている必要があります。
ファイル:[ここをクリックしてダウンロード][1]
具体的な手順:#
1. まず、cloudflare にログインし、ドメインをクリックします。エリア ID を見つけて PHP ファイルにコピーします。
//エリアID
$id = '';
2. エリア ID の下にはAPI トークンを取得という項目があります。それをクリックします。
トークンを作成し、エリア DNS を編集というテンプレートを使用します。
エリアリソースの行でドメインを選択し、クライアントの IP アドレスフィルタにホワイトリストを追加できます。
作成したら、PHP ファイルにコピーします。
//APIを作成した後に取得するトークンを、Bearerの後に書く
$Authorization = 'Authorization: Bearer ';
注:Bearer とトークンの間にはスペースがあります。
3.2 つの情報を追加したら、25 行目に移動します。
//DNSレコードIDリストを取得する場合、trueに変更するとPHPのアドレスにアクセスするとJSON形式のDNSレコードリストが表示されます。
$get_dnsid = false;
falseをtrueに変更し、サーバーにアップロードしてアクセスします。
いくつかの JSON が表示され、現在フェイルオーバーを行う必要がある解析の ID を選択します。
次の場所に入力します:
//変更する必要のあるDNSレコードID、$get_dnsid = trueでレコードリストを取得し、dnsidを設定したら$get_dnsidをfalseに設定します
$dnsid = '';
そして、**$get_dnsid = true;を$get_dnsid = false;** に変更します。
4. その他のパラメータを変更する
//pingチェックのIP
$pingip='baidu.com';
これを ping したいアドレスに変更します。
$dnstype = 'A';
//名前
$dnsname = '';
//変更後のIP
$dnscontent = '';
//プロキシ
(bool)$dnsproxied = true;
//ttl
$dnsttl = 3600;
上記は障害が発生した後に解析 IP を変更するためのパラメータです。最初のデフォルトは a 解析です。
2 番目は解析の内容、3 番目はバックアップサーバーの IP、4 番目は cf の cdn 機能をオフにするために false に変更します。
デフォルトでは有効になっています。5 番目は ttl 時間で、デフォルトは 1 時間ですが、自動に変更する場合は値を 1 に変更できます。
5.ping アドレスのポート
if (pingDomain($pingip, 80) === -1) {
43 行目からのもので、ここではデフォルトでポート 80 ですが、他のポートに変更できます。
上記の手順をすべて完了したら、監視アクセス URL を設定するだけです。
注意:このファイルの ping 方法は、コンピュータのターミナルでの ping 方法とは異なります。
この方法は、ポートスキャンに似ています。ポートを 80 または 443 に設定すると、web を監視できます。
ポートを 3306 に設定すると、mysql を監視できますが、ポートは PHP ファイルをデプロイした IP で開放する必要があります。
たとえば、宝塔でポート 7777 を開放していますが、このポートにはプロセスが使用されていないため、障害と見なされます。