我部署了我的網站,并使用此代碼強制使用的協議是\Illuminate\Support\Facades\URL::forceScheme('https');
AppServiceProvider 中的HTTPs
。
當我訪問我的網站時,它默認使用 HTTP,我必須在地址欄中手動將“http”更改為“https”,然后 SSL 證書作業正常,我可以安全地填寫所有表格。
我如何強制用戶訪問網站時,HTTPs 運行而不是 HTTP
uj5u.com熱心網友回復:
將此標簽添加到您的根頁面頭部部分。(home.blade.php,welcome.blade.php ...)
<head>
... other tags
@if(env('APP_ENV') === 'production')
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
@endif
</head>
并在啟動函式 app/Providers/AppServiceProvider.php 中添加:
public function boot()
{
if (env('APP_ENV') === 'production') {
$this->app['request']->server->set('HTTPS', true);
}
}
}
uj5u.com熱心網友回復:
\Illuminate\Support\Facades\URL::forceScheme('https');
然而,我使用了,我的第一個頁面仍然是在 HTTP 中加載的,而其他后續請求是在 HTTPs 中。
為了解決這個問題,我將“/”處的路由重定向到克隆路由“/welcome”,該路由回傳“/”應該回傳的視圖。從那時起,使用 HTTPs。
我無法將 HTTP 重定向到服務器中的 HTTPs,因為我使用了 Elastic beanstalk 并且 /.ebextensions 組態檔中建議的命令不起作用,所以我的解決方案盡可能接近解決問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/383135.html
上一篇:如果配置了SSL的Nginx反向代理傳遞到沒有SSL的Web服務器,會發生什么?
下一篇:嘗試使用JavaMailSMTP發送電子郵件時出現javax.net.ssl.SSLHandshakeException
