Google Cloud 目前注册验证通过信用卡还是有 $300 赠送免费使用一年的。
Google Cloud 的基础网络真的没得说。CDN 也非常的快,全球 ping 值都非常低,就是流量略贵。
首先使用 Google Cloud CDN 与传统的 CDN 使用方式不一样。现在大部分的 CDN 都是通过 CNAME 解析的,Google Cloud CDN 是以 GCE 为基础建立一个 Anycast 网络,在使用 Google Cloud CDN 前,你必须保证最少创建了一个 GCE 实例,否则无法成功使用 Google Cloud CDN 服务!
GCE 上所实现的这个功能是基于第七层的网络代理,所以其拓扑图是这样的:
用户 -- 边缘服务器 -- 实例
- 用户到边缘服务器之间的连接:使用 HTTP 或 HTTPS;如果是 HTTPS 连接,那么 TLS 加密过程是在边缘服务器上实现。
- 边缘服务器到实例的连接:使用 HTTP 或 HTTPS 连接,之前的网络是走的 Google 的专线。
不论配置了几个位置的实例,边缘服务器都是使用 Google 全部的边缘服务器。
启用这个功能后,就会得到另一个 Anycast 的 IP 地址,这是个独享的 IP 地址。
创建实例租需要注意,如果确定你的流量负载并不高,请选择非托管实例组
,否则 Google Cloud 将会在你的 VM 实例负载达到一定载荷时为你创建新的 VM 加入实例组,或者动态调度保证高可用。
如果你需要创建 HTTPS 并且需要 HTTP 强制跳转到 HTTPS 的话,创建一个 IP 地址使必须的!!这里必须要注意!
如果你有多个实例组,并且分布在各个 Google Cloud 骨干机房,可以在创建后端服务的时候选择多个实例组组合使用。
使用 Google Cloud CDN 有一个问题很难受,就是如何 HTTP 跳转到 HTTPS。一般在 Nginx 上配置都是判断 http 然后跳转到 https,但是在 Google Cloud CDN 的食用方式不一样~
一般 Nginx 都是:
#1 method 1
server {
listen 80;
listen 443 ssl http2;
server_name www.domain.com;
if ($schema = 'http') {
return 301 https://$host$request_uri;
}
}
#2 method 2
server {
listen 80;
server_name www.domain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name www.domain.com;
location / {
...
}
}
但是在 Google Cloud 创建了 VM 后要做跳转需要把规则改一改即可强制跳转至 HTTPS
server {
listen 80;
listen 443 ssl http2;
server_name www.domain.com;
if ($http_x_forwarded_proto = 'http') {
return 301 https://$host$request_uri;
}
}
文章评论