如何为托管在Google云存储上的网站设置SSL?
谷歌云存储(GCS)是托管静态网站的绝佳选择,并且我在我的previous article中解释了该过程。
您可以通过两种方式访问托管在GCS上的网站。
- 使用Google存储域,例如 – storage.googleapis.com/yourdomainname
- 使用自定义域
通过Google存储域访问默认启用了SSL。然而,当您打算使用custom domain时,您需要找到配置SSL的方法。
换句话说,GCS不会在自定义域上启用SSL。
有人问是否有办法在自定义域上启用SSL/TLS,以便通过HTTPS访问。
好消息是,您可以做到。
让我们看看如何…
我假设您已经在GCS上托管了一个网站,并且您的网站可以通过HTTP访问。我已经将我的实验域名(techpostal.com)设置为GCS。
让我们使其可以通过HTTPS访问。
使用Cloudflare-免费解决方案
实现免费SSL的最快方法之一是通过将流量路由通过Cloudflare来实现。Cloudflare提供了many advances from security and performance,我个人使用并喜欢它。
您可以在免费计划中开始使用它(是的,免费计划提供SSL)。
- 在Cloudflare上创建一个帐户
- 点击“添加网站”
- 输入站点名称并点击“开始扫描”。
- 等待几秒钟,您会注意到扫描状态完成。点击继续设置
- Cloudflare将扫描现有的domain record并为您显示,因此您不必手动添加它们。如果有一些条目缺失,那么添加它们,否则点击继续
- 选择计划并继续
- 将您的域名的名称服务器更改为Cloudflare中的名称服务器。
通过更改名称服务器,您将将您的网站流量路由到Cloudflare网络。名称服务器更新后,点击继续。
- 这将需要一些时间来更新DNS,完成后,您将注意到站点状态变为活动状态。
这表明网站已准备好充分利用Cloudflare,其中包括free SSL。
默认情况下,当您将网站添加到Cloudflare时,它可以通过http://,https://,www进行访问,但您可能不希望如此。
一个好的实践是只通过一个协议(在这种情况下是HTTPS)提供网站内容。为了实现这一点,我们将设置页面规则来进行必要的重定向。
我假设您仍然登录到Cloudflare
- 转到加密选项卡
- 向下滚动并打开“始终使用HTTPS”。
通过以上设置,所有带有“HTTP”的请求将被重定向到“HTTPS”。
- 接下来,让我们启用自动HTTPS重写。
- 尝试访问您的网站,您应该看到它可以通过HTTPS访问。
Cloudflare解决方案可能是最简单的解决方案之一。
使用Google负载均衡器
如果出于某种原因您不想使用Cloudflare,您可以利用Google云负载均衡器(LB),该负载均衡器允许您终止SSL握手。
需要执行以下操作。
- 提供Google云HTTP(S)负载均衡器
- 实施SSL(refer the guide)
- 将LB后端配置为Cloud Storage存储桶
- 在DNS注册商处更新域A记录以指向Google LB前端IP
通过https://来验证您的网站
Google LB还提供了启用他们的CDN的选项。因此,如果您愿意花费一些钱,您可以尝试在云存储桶前面使用负载均衡器来提供静态网站。