我将我的SSL证书上传到GAE。该表单未显示其中一个子域" images.floridata.com"在证书中。映射到ghs.googlehosted.com的其他子域作为复选框出现,可以单击该复选框以激活该子域的SSL。但映射到c.storage.googleapis.com的images.floridata.com不是。
我们使用Google的云端DNS。有人能告诉我如何为这个子域启用SSL吗?
如果我不在此子域上启用SSL,则用户将获得"混合内容"错误?
我的网站是一个Golang应用,因此在我的app.yaml文件中,我有一个"安全:始终"进入 - 这会阻止图像通过http传递,导致混合内容"错误。
谢谢!
答案 0 :(得分:3)
“c.storage.googleapis.com”DNS重定向功能不适用于HTTPS地址。它只是HTTP。
要通过HTTPS处理自定义域,您需要使用它设置Google Cloud Load Balancing,register your SSL certificate,然后configure it to be backed by a GCS bucket。
答案 1 :(得分:0)
我在Nginx,Apache或类似产品上使用 Proxy 解决了此问题 在测试Firebase和负载平衡2周后,我发现该解决方案可以使用我自己域的HTTPS正常运行。
https://github.com/presslabs/gs-proxy/blob/master/nginx.conf
或者您可以使用此解决方案代理子文件夹
upstream gs {
server storage.googleapis.com:443;
keepalive 128;
}
server {
## YOUR CURRENT CONFIG ##
location ~ /cdn/(.*)$ {
proxy_set_header Host storage.googleapis.com;
proxy_pass https://gs/BUCKETNAME/subpath/$1;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_intercept_errors on;
proxy_hide_header alt-svc;
proxy_hide_header X-GUploader-UploadID;
proxy_hide_header alternate-protocol;
proxy_hide_header x-goog-hash;
proxy_hide_header x-goog-generation;
proxy_hide_header x-goog-metageneration;
proxy_hide_header x-goog-stored-content-encoding;
proxy_hide_header x-goog-stored-content-length;
proxy_hide_header x-goog-storage-class;
proxy_hide_header x-xss-protection;
proxy_hide_header accept-ranges;
proxy_hide_header Set-Cookie;
proxy_ignore_headers Set-Cookie;
}
# location / { ... #
}
根据需要,您必须激活Cloud Storage中的Access-Control-Allow-Origin。
代理便宜,那么负载均衡,如果需要SEO是一个不错的选择。