具有自定义域的云存储上的SSL

时间:2017-02-14 01:54:09

标签: google-app-engine ssl subdomain google-cloud-storage app.yaml

我将我的SSL证书上传到GAE。该表单未显示其中一个子域" images.floridata.com"在证书中。映射到ghs.googlehosted.com的其他子域作为复选框出现,可以单击该复选框以激活该子域的SSL。但映射到c.storage.googleapis.com的images.floridata.com不是。

我们使用Google的云端DNS。有人能告诉我如何为这个子域启用SSL吗?

如果我不在此子域上启用SSL,则用户将获得"混合内容"错误?

我的网站是一个Golang应用,因此在我的app.yaml文件中,我有一个"安全:始终"进入 - 这会阻止图像通过http传递,导致混合内容"错误。

谢谢!

2 个答案:

答案 0 :(得分:3)

“c.storage.googleapis.com”DNS重定向功能不适用于HTTPS地址。它只是HTTP。

要通过HTTPS处理自定义域,您需要使用它设置Google Cloud Load Balancingregister 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是一个不错的选择。