我要为我的域名设置 SSL,现在,配置如下: - 托管网站的谷歌云机器(example.com
)和一个example.com/myapp
与在谷歌应用引擎实例上编写的 API 进行通信的 Web 应用程序( js, ) - 托管 API 的谷歌应用引擎实例(example.com/api
)
我想要做的是将 API 映射到 example.com/api 并确保应用程序和 API 之间的通信是 https(我必须使用相同的域,否则它不起作用)。
现在的问题是:我该怎么做?我需要什么类型的 SSL 证书?
我的想法:
- 单域名证书可以就足够了,网站、应用程序和 API 最终都在同一个域上。
- 我可以使用 apache 代理将其映射
/api
到 API 的 GAE 实例(但我不确定)。 - 我可能会获得一个通配符 SSL 证书,将 api 绑定到
api.example.com
,然后使用 apache 将其映射api.example.com
到example.com/api
。对此仍不确定。
到底我该怎么办?
答案1
如果按照您描述的方式引用,则只需要一个域证书。
根据您的应用,您可以让监听器决定如何调用它。如果是简单的页面引用,则为https://www.yourdomain.com/folder+页面名称
您必须为自定义域配置 SSL。在 Google App Engine 计费中为 SNI + VIP 启用它。启用后,使用 openssl 创建您的 CSR。[我使用了 Ubuntu linux openssl]
确保它是最新的而不是旧版本,这样您就不会受到 heartbleed 漏洞的影响。
openssl req -new -newkey rsa:2048 -nodes -out www_yourdowmain_com.csr \
-keyout www_yourdowmianprivatekey_com.key -subj "/C=US/ST=Full State not the two \
letter abbreviation /L=City /O=Company Name LLC /OU=Division of company \
Information Technology /CN=www.yourdomain.com"
您将在购买时添加备用域名。
www.yourdomain.com
yourdomain.com
更新您的 DNS 记录 - 为 GAE 添加 CNAME 记录
获得证书后,您还需要执行另外六个步骤,具体取决于 SSL 颁发者。在 GAE 上安装和激活 SSL 的一般步骤是您必须上传两个文件:combined.pem
文件和未加密的私钥。上传文件后,您可以选择服务角色和 CNAME 记录。
您的证书 + 中级证书 =combined.pem
文件 [在某些情况下,可能需要三个证书来组成组合的 pem 文件]
CSR 请求中的私钥文件
openssl rsa -in www_yourdowmianprivatekey_com.key -out unencryptedkey.pem
Google 文档有很多不足之处。如果您打算长期拥有这个域名,我会获得两年的证书。我刚刚在过去两周内完成了这个过程。我使用过迪吉特和去吧爸爸过去。其他供应商Verisign/赛门铁克,科摩多。如果这是一个公共项目,您需要一个作为主流浏览器的一部分分发的 SSL 提供程序。这会使迪吉特,威瑞信,科摩多由于它们在市场上存在的时间较长,因此位居榜首。其他一些提供商可能没有得到如此广泛的认可。