【问题标题】:Mixed content issue- Content must be served as HTTPS || Lumen || Swagger API混合内容问题 - 内容必须以 HTTPS 形式提供 ||流明 ||招摇 API
【发布时间】:2020-01-23 04:39:59
【问题描述】:

混合内容:“https://api.xyz.com/api/documentation”处的页面是通过 HTTPS 加载的,

但请求了不安全的样式表“http://api.xyz.com/swagger-ui-assets/swagger-ui.css?v=26ec363936a21921c9fec290e551e3eb”。

此请求已被阻止;内容必须通过 HTTPS 提供。

我知道如何在 Laravel 中解决这个问题,但在 Lumen 的情况下无法解决。

尝试过的解决方案:

  1. 在 AppServiceProvider 中添加以下行

    URL::forceSchema('https');  
    

【问题讨论】:

  • 尝试从样式表的 url 中删除 http 并留下一个 /
  • 你是如何加载样式表的?
  • @Mike 我将 Swagger 用于 API 文档。它在 HTTP 上工作正常,但在 HTTPS 上却不工作。
  • 你设法解决了这个@RadheShyamsharma 吗?仍然遇到问题。

标签: laravel laravel-5 lumen lumen-5.2


【解决方案1】:

更新app/Providers/AppServiceProvider.php文件中的boot()方法如下

public function boot()
{
    if(env('APP_ENV') !== 'local') {
       URL::forceScheme('https');
    }
}

还在.evn 文件中将APP_ENV 更新为APP_ENV=prod

【讨论】:

  • 感谢它正在工作
【解决方案2】:

检查.env文件中设置为http://localhostAPP_URL

Heroku 使用 https://appname.herokuapp.com,因为它在生产中,但 lumen 使用 http://localhost 用于开发模式,所以我通过运行 heroku config:set APP_URL=https://localhost 来修复它

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-30
    • 1970-01-01
    • 2016-03-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-04
    • 2015-08-13
    相关资源
    最近更新 更多