1

我正在尝试将网站移动到 Azure(Azure 网站)。我把所有东西都搬走了,除了 ssl 不工作。出现的错误说

You attempted to reach [subdomain].[domain].com, but instead you actually reached a server identifying itself as *.azurewebsites.net ...

我认为这可能与我的证书有关。该证书是通过 GoDaddy 获得的 UCC 证书(多 SAN)。当我将站点从旧服务器移到 Azure 网站时,我没有重新输入证书。旧服务器使用 Parallels 进行管理。这是我为移动证书所做的事情:

我在旧服务器上登录了 Parallels。我打开 SSL 屏幕,在那里我可以看到证书的 4 个部分(csr、私钥、证书、CA 证书)。我复制了每个文本的文本(包括---Begin Certificate------End Certificate---行。编辑:私钥以 开头---Begin RSA Private Key---和结尾---End RSA Private key),然后粘贴数据以创建 4 个 .txt 文件。然后我重命名了 txt 文件,这样我就有了 4 个名为CAcertificate.cercertificate.cerprivateKey.pemcert.cer. 它们都保存在 c:\ 目录(根目录)中。

然后我拉起 OpenSSL 并运行以下命令:

pkcs12 -export -in c:\certificate.cer -inkey c:\privateKey.pem -out c:\certificate.pfx -certfile c:\CAcertificate.cer

我输入了两次密码,然后弹出了一个 certificate.pfx 文件。

我将该文件上传到我的 Azure 网站。UCC 证书适用于 4 个子域。我将我的 Azure 网站设置为仅使用其中一个子域作为域名。上传文件后,我转到SSL Binding,选择该子域,将其与我刚刚上传的证书匹配,然后选择“SNI SSL”。我保存了它,一切看起来都很好。

不幸的是,当我浏览到子域时,我收到了我在开头列出的错误。

我设置了一个 CName 以从该子域转发到 Azure 网站。我还设置了一条 A 记录,以从该子域指向 Azure 网站的 IP 地址。除了 ssl 证书错误之外,该站点正在按我的预期启动。

我是否错误地生成了 .pfx 文件?我需要在 Azure 或我的域注册商中进行更改吗?我注意到我可以从平行面板下载一个 .pem 文件。它在一个文件中包含证书的所有 4 个部分。我不知道我能用它做什么。

4

1 回答 1

0

如本文所述(由 Microsoft MVP 编写),缺少根或中间证书颁发机构可能会导致此行为。

此答案显示了如何使用 OpenSSL for Windows 导出完整的证书链,包括私钥。

如果证书已安装在您的本地 Windows 计算机中,您可以按照本指南进行操作并确保选择

  • 是的,导出私钥
  • 如果可能,在认证路径中包含所有证书

这将创建一个 .pfx 文件,其中包含您的证书、其私钥以及所有中间和根 CA。

于 2013-11-15T16:37:22.577 回答