我正在使用Laravel 5.8
目前我有这个网站:样品名称
https://www.myssldomain.com/ewallet
和
我有这个网站:样品名称
当用户触发/搜索此链接时,使用Proxy Pass
中包含的myssldomain.com
:https://www.myssldomain.com/ewallet/login
浏览器将加载该网站http://my-aws-public-ip/login
的内容 proxy pass
工作正常,但问题是styles
和javascript
未加载,并且浏览器显示Mixed Content
,因为my-aws-public-ip
网站被加载为HTTP不是HTTPS
当前
我将config/app.php
更改为
'url' => env('APP_URL', 'https://www.myssldomain.com/ewallet/'),
和
我
.env
文件,我将APP_URL
更改为此https://www.myssldomain.com/ewallet/
我尝试过的事情
也
我遵循了此步骤,但似乎也无法正常工作。
https://coderwall.com/p/g9qkea/mixed-content-issue-content-must-be-served-as-https-in-laravel
我也尝试更改以下内容以解决问题
APP_ENV=production
APP_DEBUG=false
APP_URL=https://www.myssldomain.com/ewallet/
并将此代码添加到web.php
if (App::environment('production')) {
URL::forceScheme('https');
}
但是仍然不能在我这边工作。 我需要设置什么来确保它能正常工作吗?
期望
使用来自myssldomain.com的代理通行证
答案 0 :(得分:1)
解决了我自己的问题!由于代理使用HTTPS,而Laravel使用HTTP请求作为默认设置,因此您可以尝试将其配置为HTTPS。
赞
config / app.php
'url' => env('APP_URL', 'https://www.myssldomain.com/ewallet'),
'asset_url' => env('ASSET_URL', 'https://www.myssldomain.com/ewallet'),
.env
APP_NAME=XX
APP_ENV=XXX
APP_KEY=base64:XXX
APP_DEBUG=true
APP_URL=https://www.myssldomain.com/ewallet
app / Providers / AppServiceProvider.php
public function boot()
{
if (env('APP_ENV') !== 'local') {
$this->app['request']->server->set('HTTPS', true);
}
}
routes / web.php
在代码的开头添加;
URL::forceRootUrl('https://www.myssldomain.com/ewallet');
完成此操作后,您的CSS / JS将不再以HTTPS的形式加载为HTTPS。