如何在Heroku上通过HTTPS连接加载Laravel L5 swagger UI



我试着在heroku上加载我的Laravel L5 swagger URL,但我得到了一个空白屏幕。在用chrome检查检查视图时,我发现下面有错误

https://MY_APP_NAME.herokuapp.com/api/documentation' was loaded over HTTPS, but requested an insecure script 'http://MY_APP_NAME.herokuapp.com/docs/asset/swagger-ui-standalone-preset.js?v=2fb7deffbc136bc6540eb1aa890ca736'. This request has been blocked; the content must be served over HTTPS.

我已经将heroku上的以下env变量设置为应用程序域

APP_URL=
L5_SWAGGER_BASE_PATH=
L5_SWAGGER_CONST_HOST=

但仍然没有变化。

注意:当我通过HTTP打开文档页面时,它可以工作,但我希望它能通过HTTPS连接工作。请提出任何有帮助的建议。把它留在HTTP连接上可以吗。

感谢

之所以会发生这种情况,是因为l5 swagger默认情况下使用绝对路径加载您的资产,在config/l5-swager.php中,您默认情况下会使用以下路径:

'use_absolute_path' => env('L5_SWAGGER_USE_ABSOLUTE_PATH', true),

在这里或您的环境中将其更改为false

步骤01:添加到生产L5_SWAGGER_GENERATE_ALWAYS = false或本地true中的.env

步骤02:添加AppServiceProvider.php

public function boot()
{
if($this->app->environment('production')) {
URL::forceScheme('https');
}
}

相关内容

最新更新