Uri*_*lar 9 ssl redirect ruby-on-rails heroku amazon-cloudfront
我正在使用Cloudfront发行版作为我的Heroku服务器的代理.为什么?出于这些目的.
无论如何,我的应用程序有一个强制ssl规则.当我转到我的cloudfront网址时,原点是我的heroku app url,我得到301重定向到原点,而不是作为别名.
我做过的一些事情:
起初我有一个错误说"request could not be satisfied",所以我将原始协议策略更改为仅HTTP.
然后,我有一个重定向循环,所以在研究后我发现它是由主机头传入引起的,所以我删除了转发头.
现在我得到301重定向.我怎么能阻止它?我应该看什么配置?
Appreaciate任何想法.很高兴提供任何其他信息.
Nat*_*ate 11
我昨天刚开始使用CloudFront并且遇到了完全相同的问题.我找到了下面的答案,并意识到我的非www到www重定向导致了问题:
我从domain.com重定向到www.domain.com,CloudFront正在缓存并返回该重定向.您可能会看到与http/https重定向相同的事情.
如果您正在进行HTTP - > HTTPS重定向,则有两种选择:您可以将资产作为HTTP提供给CloudFront,也可以让CloudFront将它们作为HTTPS请求.要执行后者,您需要将CloudFront原点配置为"匹配查看器".这意味着如果观众使用HTTPS,CloudFront也会.如果用户使用HTTP,CloudFront将在HTTP中请求,返回从服务器收到的HTTPS重定向,然后客户端将以HTTPS形式重新发出请求.
在我们的案例中,资产本身不需要在飞行中受到保护.它们从CloudFront作为HTTPS提供服务非常重要,因此用户的浏览器可以看到所有HTTPS内容.因此,在我们的案例中,没有必要将资产作为HTTPS提供给CloudFront.无论它如何从我们的服务器获取内容,CloudFront都会在响应时匹配查看器的协议.
您可以尝试的一件事是暂时从.htaccess文件中删除任何重写规则,然后尝试通过CloudFront加载新文件.每次尝试一个新文件,因为CloudFront会缓存它获得的响应(无论是否是文件).
| 归档时间: |
|
| 查看次数: |
6156 次 |
| 最近记录: |