Heroku上的Laravel HTTPS

时间:2014-12-05 09:55:33

标签: laravel heroku https

不确定是否有其他人遇到过类似的问题并放弃了,但这里有:

我在heroku上托管应用程序,并使用CloudFlare的免费SSL来通过HTTPS提供所有流量。

以下是来自另一个StackOverflow questionapp/filters.php文件顶部的以下内容:

App::before(function($request)
{
  if ((Request::header('x-forwarded-proto') <> 'https') && !App::environment('local'))
  {
    return Redirect::secure(Request::getRequestUri());
  }
});

出于某种原因,这会破坏所有表单,因为它们似乎都没有POST到应该的位置 - 它们只是重定向回包含原始表单的页面。

以防万一,这是受{影响的app/routes.php的一部分:

Route::get('login', [
  'as'   => 'login',
  'uses' => 'SessionController@create'
]);

Route::post('login', [
  'as'   => 'login',
  'uses' => 'SessionController@store'
]);

有人可以帮忙吗?谢谢!

1 个答案:

答案 0 :(得分:0)

您的用户与CloudFlare之间的连接已加密,但CloudFlare与您的服务器之间的连接不是。

根据这篇文章: https://www.cloudflare.com/ssl

您需要选择完整SSL(仅需要自签名证书)或完整SSL(严格)(需要由受信任的证书颁发机构签名的证书)。