我部署了一个只能通过 VPC 访问的 S3 网站。
我希望能够通过该 VPC 中的 EC2 实例传输 HTTP 流量,以便通过本地计算机上的浏览器访问网站。
curl {bucketname}.s3-website-{region}.amazonaws.com
-> 检索index.htmlssh -v -N -L 3000:{bucketname}.s3-website-{region}.amazonaws.com:80 -i {keypair}.pem ec2-user@{ec2-instance-in-vpc}
localhost:3000
来访问转发到该端口的 s3 站点,但每次我都会被重定向到 AWS S3 主页 https://aws.amazon.com/s3/。
debug1: Connection to port 3000 forwarding to {bucketname}.s3-website-{region}.amazonaws.com port 80 requested
curl localhost:3000
,并得到以下重定向响应<html>
<head><title>301 Moved Permanently</title></head>
<body>
<h1>301 Moved Permanently</h1>
<ul>
<li>Code: WebsiteRedirect</li>
<li>Message: Request does not contain a bucket name.</li>
<li>RequestId: SDNB2B78GWJRQKY5</li>
<li>HostId: 6fxE5CUCdq+7fjZiOgIKzgKNfcsi84g+XDWArAcjzrIDly+VPsF69bT3EWOQgXlxIgroS/Brq5w=</li>
</ul>
<hr/>
</body>
</html>
以前有人遇到过这个错误吗? 有没有更好的方法来测试私有 S3 网站的连接性?
我部署了一个只能通过 VPC 访问的 S3 网站。
没有这样的事情。所以这就是为什么它不起作用。 S3 网站只能从互联网访问,不能从任何 S3 网关或接口端点访问。
如果您想从 VPC 访问您的 s3 网站,并且您是从私有子网访问您的 s3 网站,则该网站必须具有互联网网关和 NAT。