使用自定义 S3 URL 进行 https 下载文件

使用自定义 S3 URL 进行 https 下载文件

我认为应该在这里询问以下问题,而不是@Super User。

我的 Web 应用程序使用 S3 供用户下载文件。在自定义 URL 之前,使用以下 URL 方案从 S3 下载文件:

https://mybucket.s3-website-us-west-1.amazonaws.com/file.zip

我想向用户隐藏我正在使用 S3 存储我的文件的事实,因此我在 DNS 面板上创建了一个新的 CName(files.mydomain.com),其值为 S3.amazonaws.com

现在的 url 是http://files.mydomain.com/file.zip

我的问题是,由于文件托管在 S3(默认情况下使用 https://),文件是否仍通过安全 http 下载?请注意,我为子域使用 http。

我希望我已经表达清楚了。

谢谢

答案1

不,您的文件不会通过 https 下载,因为您的链接是 http。

您需要做的是将 S3 存储桶放在 CloudFront 后面。在 CloudFront 中,您可以上传自定义 SSL 证书以与您的 CNAME 一起使用(并且对于基于 SNI 的 SSL 是免费的)。

答案2

好吧,CNAME 不会改变任何东西。客户端仍然连接到 IP,而不是名称。不过我很惊讶 CNAME 竟然可以正常工作,而不必将新名称添加到服务器。

连接是 HTTPS 吗?谁知道呢。您可能会从 HTTP 重定向到 HTTPS,也可能不会。如果没有实际的下载链接进行测试,就无法确定。

您可以在 Linux 命令行上使用 wget 进行测试。

wget http://files.mydomain.com/file.zip

看看在下载之前是否被重定向到 https。

答案3

尝试这个

wget --no-check-certificate --no-proxy --user=用户名 --ask-password -O "下载网址"

相关内容