【问题标题】:redirect https traffic on Amazon via ELB and linux to static site on S3通过 ELB 和 linux 将 Amazon 上的 https 流量重定向到 S3 上的静态站点
【发布时间】:2014-04-08 03:45:17
【问题描述】:

众所周知,亚马逊不支持通过自定义 URL 连接到位于 S3 上的静态站点的 https 连接

解决我配置的问题:

  • Route53 与自定义域

  • 负载均衡器 (ELB) 将端口 443 重定向到 80 + 以在其上安装 SSL 许可证

  • Amazon Linux 服务器 + ngnix 用于 http 重定向到 Amazon 为 S3 提供的域名

在我在 /etc/nginx/conf.d/virtual.conf 中配置的 Amazon Linux 上:

      server {
             listen 80;
             server_name my_root_domain.com;
             rewrite     ^ $scheme://my_root_domain.com.us-east-1.amazonaws.com/$request_uri?      permanent;
         }

我在网络浏览器上获得的 URL 是“my_root_domain.com.us-east-1.amazonaws.com”而不是 my_root_domain.com

第二个问题:我也想将 www.my_root_domain.com 重定向到 S3

感谢您的帮助,我刚开始使用 nginx

【问题讨论】:

  • 在#1 上你不想重写 url,你想代理,不是吗?
  • user602525 我没想到它可能是代理感谢您的评论,但我怎样才能将我的 _root_domain.com 保留在浏览器 url 中?
  • 我认为这就是代理的作用。对于客户端来说,它看起来像是在访问 www.yourdomain.com,服务器会转到您告诉它的任何地方并将内容返回给客户端,但就客户端而言,它认为它位于 www.yourdomain.com全程。查找正向代理
  • Cloudfront 现在支持这种自定义 SSL。您可以将 cloudfront 放在 S3 存储桶的前面作为 orgin,它会起作用。证书非常昂贵,虽然 600 美元/月。

标签: linux amazon-web-services nginx amazon-s3


【解决方案1】:

你想使用 nginx 作为转发代理,可能是这样的:

server {
             listen 80;
             server_name my_root_domain.com;
             location / {
                 proxy_pass http://my_root_domain.com.us-east-1.amazonaws.com;
             }
         }

【讨论】:

  • 。感谢您的回答,我会检查并更新。有趣,我可以在一个服务器{}配置中复制带有/不带 www 的 server_name 行吗?
  • 只是之前的跟进......但是如果您已经设置了 nginx,为什么不直接从 nginx 提供服务?
猜你喜欢
  • 2018-10-22
  • 2017-10-16
  • 1970-01-01
  • 1970-01-01
  • 2017-07-10
  • 2013-03-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多