Laravel HTTPS on Heroku



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

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

以下是我app/filters.php文件顶部的另一个StackOverflow问题的以下内容:

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'
]);

谁能帮忙?谢谢!

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

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

您需要从完全 SSL(

仅需要自签名证书(或完全 SSL(严格((需要由受信任的证书颁发机构签名的证书(中进行选择。

最新更新