[英]Laravel 4: setting correct scheme and domain for pagination and form
這可能是我的疏忽,但我想知道設置默認 pagenate 基本 url 的正確方法是什么。
我們的域在https://domain.com
,我們已經設置了 config app.url
,但是在視圖中生成 url 時,分頁似乎仍然使用http://domain.com
(注意該方案是http
而不是https
) . 我想知道如何在不到處寫setBaseUrl
情況下做到這一點。
(我們使用的是 Laravel 4.1)
更新:我們也遇到了與Form::open
相同的問題,讓 Laravel 意識到我們想要使用https
而不是http
url 的設置在哪里? 不應該使用app.url
作為基本 url 嗎?
自己找出答案:
由於我們的服務器在反向代理(nginx)之后,而內容作為 HTTPS 提供,代理是通過 HTTP 完成的,因此我們應該在 nginx 配置中設置以下內容:
proxy_set_header X-Forwarded-Proto $scheme; //or just `https`
(與您的proxy_pass upstream
塊相同)
然后我們可以使用信任代理功能:
$proxies = Config::get('app.trusted_proxies');
// trust any balancer
if ($proxies === '*')
{
$proxies = array( Request::getClientIp() );
}
// else trust an array of IPs
if ($proxies && is_array($proxies))
{
Request::setTrustedProxies($proxies);
}
(這可以添加到bootstrap/start.php
。Laravel 使用 Symfony 請求庫,這就是我們鏈接到他們的文檔的原因,因為該功能未在 Laravel 文檔中記錄)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.