2

我在我们的内部网络上有一个网站,公众也可以访问。我已为该公共站点购买并安装了 SSL 证书。该站点可使用https://site.domain.com(公共)和https://site.domain.local(内部)访问。

我遇到的问题是为内部“site.domain.local”创建和安装自签名证书,这样我们内部网络上的人就不会收到安全警告。我在根文件夹中有一个密钥库,并且没有运气在该密钥库中创建了一个自签名证书。公钥工作得很好。我正在运行安装了 Tomcat 7 的 Debian linux,并且我还在使用 Microsoft DNS 的网络上使用 Active Directory。任何和所有的帮助将不胜感激。如果您需要更多详细信息,请询问。

4

3 回答 3

0

不确定我是否完全理解您的设置,但您可以在 Tomcat 前使用 Apache,在 Apache 实例上安装证书,然后对您的 Tomcat 实例执行反向代理(纯 http)。人们将访问处理 SSL 连接的 Apache 实例。

于 2012-03-21T15:14:43.677 回答
0

如果您的证书适用于 site.domain.com 并且用户将前往 site.domain.local 并获取该证书,那么显然存在名称不匹配并且浏览器将始终警告您。

您要么需要:

  • 使用两个名称重新生成证书
  • 仅获得内部站点的证书
  • 破坏 DNS 以便当您的内部用户访问 site.domain.com 时,他们会获得 site.domain.local 的 IP 地址。
于 2012-06-08T13:15:22.087 回答
0

一种方法是在每个客户端证书受信任存储中添加 CA 证书(这不方便):客户端单击证书警告消息并安装/信任自签名 x509 CA 证书。如果这不起作用,则证书有问题(尽管大多数 openssl 生成的东西 .CER/.CRT/.P12/.PFX 将在最近的 Windows 下安装没有问题)。

如果一个客户端接受手动设置的自签名证书,您可以尝试使用 Active Directory 安装这些证书;基本上,您在 AD 中添加受信任的 CA 证书,并且客户端会自动同步(nb:主要在登录时):请参阅此处以获取有关使用 AD 进行设置的提示:http: //support.microsoft.com/kb/295663/en-我们(您可以尝试这个或朝那个方向挖掘:使用 AD,您永远不会知道)。

另一种可能性是将您的内部 DNS 设置为指向site.domain.com本地网站地址(简单的方法)。/etc/hosts您可以使用linux/unix 风格(或system32/drivers/etc/hostsWindows 风格)上的文件测试此设置

于 2012-03-21T16:18:49.013 回答