不确定是否有其他人遇到过类似的问题并放弃了,但这里有:
我在heroku上托管应用程序,并使用CloudFlare的免费SSL来通过HTTPS提供所有流量。
以下是来自另一个StackOverflow question的app/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'
]);
有人可以帮忙吗?谢谢!
答案 0 :(得分:0)
您的用户与CloudFlare之间的连接已加密,但CloudFlare与您的服务器之间的连接不是。
根据这篇文章: https://www.cloudflare.com/ssl
您需要选择完整SSL(仅需要自签名证书)或完整SSL(严格)(需要由受信任的证书颁发机构签名的证书)。