2008-12-12 72 views
1

本身不是一个编程问题,但对做商业网站开发的人来说很有意思。如何跟踪客户的托管/域名/ SSL证书过期日期?

如何跟踪所有客户的托管,域名注册和SSL证书过期日期?

你只是保留电子表格还是有一些有用的软件为此?

我已经广泛搜索,无法找到一个可用的软件,并且很想写点什么。由于需要管理超过100个客户,并且托管和域名分布在多个托管公司和注册服务商,我的临时手段都失败了。

+0

你有没有运气?我有完全相同的问题,是一个拥有很多托管客户端的Web开发人员。用excel文件跟踪事情变得困难,当我有十几个客户时,这很好,但现在很痛苦。如果您找到了解决方案或者提出了解决方案,请更新我们。谢谢! – 2012-12-02 05:14:19

回答

1

您可能会更好地使用您通常用于管理时间/日程表的任何工具,而不是使用某种专用工具。无论是Outlook,Sunbird,Lightning,PDA,手机,纸质日历等等,只要使用通常用于跟踪日期的任何工具即可。

[ADDITION]

要细说,你想这一切在同一个地方作为你的重要日期的其余部分原因是,它保证了(至少有一点),你要注意该列表。如果您正在使用其他类型的程序,那么在几周内就很容易忙碌,并忘记查看您的特殊工具,并最终让不应过期的某些内容过期。

+0

而数据的日历视图是好的,使用日历程序来存储它的问题是,它不是由客户或域名存储。此外,您还可能需要注册商或托管公司对相同数据的看法。但是,是的,我曾想到过这个谷歌日历。 – Quog 2008-12-12 02:27:23

2

我们怎么样把它变成一个编程问题!您可以使用此代码(C#),但我建议您修改一下(例如,将url放入文件中)并将其投入服务中。

此代码设置证书验证回调,HttpWebRequest在遇到证书时将调用它。这让我们看看证书,通常这是用来验证证书,但我们要看看到期时间,如果在3个月内,我们会发邮件给自己。计时器设置为每天运行一次检查。

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("[email protected]", "[email protected]", "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 
} 
1

至于管理SSL证书,你可以编写调用OpenSSL的脚本,或者如果你想要的东西准备好让你可以试试这个:

SSL Certificate Discovery and Monitoring Tool

它会找到和目录证书您的网络并在即将到期时发送电子邮件提醒。结果可以导入到名为Cert Center的基于Web的工具中。

0

给一个尝试epazote基本上可以在证书到期之前,在YAML文件中创建网站(服务)的列表,并收到一封电子邮件/警报/ hipchat通知,例如:

services: 
    google: 
     url: https://www.google.com 
     seconds: 60 
     expect: 
      status: 302 
      ssl: 
       hours: 72 

在这种情况下,可以在证书过期72小时前发送电子邮件。

更多细节在这里:https://epazote.io/post/how-to-use-it/

0

您可以使用像https://IsItWorking.info服务跟踪域名注册和SSL证书过期。

您可以设置何时收到通知(例如到期前60天),并且可以通过电子邮件,闲置或推送通知您。

(完全披露:我写的!)