我没有为网站配置 SSL 的很多经验,所以很有可能我遗漏了一些东西,但是如何在不经过负载均衡器的情况下为 EC2 配置 SSL?
这是用于与第三方 API 通信的服务器,要求我们将我们的 IP 地址列入白名单,我们不能使用 DNS。
我遵循了本指南https://www.digitalocean.com/community/tutorials/how-to-create-an-ssl-certificate-on-nginx-for-ubuntu-14-04但到目前为止,我的浏览器显示的证书与我使用的证书不同。可能是它以某种方式被缓存了?
这是我正在尝试使用的 -
-----BEGIN CERTIFICATE-----
MIIDDzCCAfegAwIBAgIJAMkWNQsBzPFcMA0GCSqGSIb3DQEBCwUAMB4xHDAaBgNV
BAMMEyouc3RnLmF1dG9icmFpbi5jb20wHhcNMTcxMTAzMDIwNzIzWhcNMjIxMTAy
MDIwNzIzWjAeMRwwGgYDVQQDDBMqLnN0Zy5hdXRvYnJhaW4uY29tMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA15PhjQTHi6o+2TCAd/dUpZzR1C/ucRfk
8SGr+2Zf/t0L3nNWt01M0EiaDpzqelkTHErwOAyRVWOUAeL/kk2SPqxb1y+mGPUN
TWvKb/UWpaXTuAHmrTngpQaSq8mxxGXlHH/GB664kNhhmQxoCCoBGN/CsDmCrvGw
EWL8rYVPppwiI9yury+XT5GqDEslR2+cSLp9FuuMGrFwwffw4xSCGr8kBeEY4VIr
8gW8E4MBFE37R4e6MhcCTJ2XuNDR69ZuCLM3IC3tiEzf/HmABcoI0/SbeqT/8WJX
9vIu2uoDmLn+Ae+QWEN/hzX5ER3lgBquT4OifBD/9KVJ1rff4hk9FQIDAQABo1Aw
TjAdBgNVHQ4EFgQUUoh2YRTx/ouZlYYCfdRCZycC6EUwHwYDVR0jBBgwFoAUUoh2
YRTx/ouZlYYCfdRCZycC6EUwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC
AQEAPSfIYBVVbueHgGLiFuBAWLdROA7a2P3SQsZcNsj1reSkPxJ0YB8g4fdyUNwp
wws+SWSBZwkmriXE+NFuECV8uln1OgYcUOmmcT9YT0eNQih9lLq/UtYtq5aWYJR/
0pwfGZ6kasHFOLdcN4SgKloqvJ4wJbt9FwpPpfVQSfh9RNEodMlDTAZQ+w2nXPHQ
VygDrCEle6VVTEzfRiTGP6JB+E4RpDeW1ECpvp1WrNiwEgSbhW3Ek54AK/stQweQ
QYE7OtiFEQtEQiqgu4gXfKjNawqwwu5sb22ot7LvgDgVudscXV40PzFAJzFEOvCr
xJtJ0+JZ37VqFTLmJidH+Hz3Ng==
-----END CERTIFICATE-----
答案1
您的描述并没有真正明确涉及的各方。听起来这个证书是第三方给您的?您是在连接到他们的服务还是在托管他们要连接的服务?根据“用于与第三方 API 通信”,我假设他们托管该服务,而您正在连接到他们。
好的,我们这里遇到了一些问题。首先,这不是 SSL 服务器证书(没有私钥!),因此您不会将它安装在负载平衡器或(例如)nginx 中。相反,它是一个 CA 证书,可用于签署其他证书。“私有”CA 通常用于生成不需要第三方信任的“内部”证书。我运行以下命令来查看证书(将其保存为“weird.cert”):
openssl x509 -in weird.cert -noout -text
在里面,我看到这是一个自签名的 CA 证书,由以下特定字段证明:
Issuer: CN=*.stg.autobrain.com Subject: CN=*.stg.autobrain.com X509v3 extensions: X509v3 Basic Constraints: CA:TRUE
我可能错了,但是看起来就像有人试图为 *.stg.autobrain.com 颁发自己的自签名通配符证书,但却失误而颁发了完整的 CA 证书。也许该证书随后会用于签署“真正的”通配符证书,可能使用相同的名称?
无论如何,如果他们向公众提供服务,他们应该使用真正的 CA 来执行此操作,因为信任第三方 CA 会给您带来一些非常真实的安全风险,因为任何有权访问该 CA 的私钥的人都可以为任何东西颁发证书,并且任何信任该 CA 的系统都会信任它生成的任何证书。
我的建议是抵制第三方,让他们简单地获取由公共 CA 签名的 SSL 证书。完成此操作后,SSL 即可正常工作,无需任何额外麻烦。