在Heroku Laravel实例上设置HTTPS重定向

时间:2015-07-17 03:14:45

标签: php apache laravel ssl heroku

我在一个apache Heroku实例上运行了一个Laravel 5版本,我试图确保所有流量都通过https转换,但是我绝望地丢失了。

我已启动SSL证书并成功运行。但是使用Heroku,您无法直接在其服务器上编辑.htaccess文件。因此,他们对this page的建议是设置一个apache_app.conf并告诉Heroku将它读入Procfile:

web: vendor/bin/heroku-php-apache2 -C apache_app.conf public/

然而,当我这样做时,我添加的几乎任何类型的HTTPS重写规则都会导致重定向循环或应用程序错误。这是我目前的配置:

RewriteEngine on

#Normal way (in case you need to deploy to NON-heroku)
RewriteCond %{HTTPS} !=on

#Heroku way
RewriteCond %{HTTP:X-Forwarded-Proto} !https

#If neither above conditions are met, redirect to https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

1 个答案:

答案 0 :(得分:1)

而不是通过.htaccess处理重定向,而是通过this方法

来实现

HttpsProtocol中间件会将每个Web路由重定向到HTTPS协议