0

プログラミング自体の問題ではありませんが、商用Web開発を行う人々にとっては興味深いものです。

クライアントのすべてのホスティング、ドメイン登録、およびSSL証明書の有効期限をどのように追跡しますか?

スプレッドシートを保持しているだけですか、それともこれに役立つソフトウェアがありますか?

広範囲にわたって検索しましたが、使用可能なソフトウェアが見つからず、何かを書きたくなりました。100以上の顧客を管理し、ホスティングとドメイン名が複数のホスティング会社とレジストラに分散しているため、私のアドホックな手段は失敗しています。

4

5 に答える 5

2

プログラミングの質問に変えてみませんか! このコード (C#) を使用することもできますが、少し変更して (たとえば、URL をファイルに入れる)、サービスにスローすることをお勧めします。

このコードは、HttpWebRequest が証明書に遭遇するたびに呼び出す証明書検証コールバックを設定します。これにより、証明書を確認できます。通常、これは証明書を検証するために使用されますが、有効期限を確認し、3 か月以内であれば自分自身に電子メールを送信します。タイマーは、チェックを 1 日 1 回実行するように設定されています。

using System.Net;
using System.Diagnostics;
using System.Net.Mail;
using System.Threading;

static void Main(string[] args)
{
    // List of URL's to check
    string[] urls = new string[]{
        "https://www.6bit.com/",
        "https://www.google.com/"
    };

    HttpWebRequest req = null;

    // Certificate check callback
    ServicePointManager.ServerCertificateValidationCallback = (state, cert, certChain, sslerr) =>
    {
        DateTime expiration = DateTime.Parse(cert.GetExpirationDateString());
        if (expiration < DateTime.Now.AddMonths(3))
        {
            Debug.WriteLine("Cert expiring on " + expiration.ToShortDateString());
            MailMessage msg = new MailMessage("SSLCheck@example.com", "josh@example.com", "SSL Certificate Expiring", "The ssl certificate for" + req.RequestUri.ToString() + " will expire on " + expiration.ToShortDateString());
            SmtpClient sc = new SmtpClient();
            sc.Send(msg);
        }

        return true;
    };

    // Request each url once a day so that the validation callback runs for each
    Timer t = new Timer(s =>
    {
        Array.ForEach(urls, url =>
        {
            try
            {
                req = (HttpWebRequest)HttpWebRequest.Create(url);
                HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
                resp.Close();
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Error checking site: " + ex.ToString());
            }
        });
    }, null, TimeSpan.FromSeconds(0), TimeSpan.FromDays(1));  // Run the timer now and schedule to run once a day
}
于 2008-12-12T02:56:53.947 に答える
1

時間/スケジュールの管理に通常使用するツールを使用する方が、特殊なツールを使用するよりもおそらく良いでしょう。Outlook、Sunbird、Lightning、PDA、携帯電話、紙のカレンダーなど。日付を追跡するために通常使用するツールを使用するだけです。

[添加]

詳述すると、他の重要な日付と同じ場所にすべてを配置したい理由は、リストに注意を払うことが(少なくとも少しは)確実になるためです。他の種類のプログラムを使用している場合、数週間忙しくなりすぎて、特別なツールを見るのを忘れてしまい、期限切れになってはいけないものを期限切れにしてしまうことがあります。

于 2008-12-12T02:06:57.153 に答える
1

SSL証明書の管理に関しては、OpenSSLを呼び出すスクリプトを作成するか、何か準備が必要な場合はこれを試すことができます:

SSL 証明書の検出および監視ツール

ネットワーク上の証明書を見つけてカタログ化し、有効期限が近づくと電子メール アラートを送信します。結果は、証明書センターと呼ばれる Web ベースのツールにインポートできます。

于 2011-07-25T15:26:29.217 に答える