【问题标题】:Changing laravel pagination links to be over HTTPS [duplicate]将 laravel 分页链接更改为通过 HTTPS [重复]
【发布时间】:2020-03-07 19:29:18
【问题描述】:

如果您在 Heroku 上,您可能已经注意到,当您有分页链接时,它会通过 HTTP 输出。这是一个问题,因为当您尝试访问该页面时,您会收到混合内容错误,因为这些链接不在 HTTPS 中。你如何解决这个问题?

问题:

【问题讨论】:

  • 检查APP_URL.env 文件中的值是什么。

标签: laravel


【解决方案1】:

要解决这个问题,您只需进入 AppServiceProvider.php 并在启动方法中添加以下内容:$this->app['request']->server->set('HTTPS','on');

【讨论】:

  • 我可以混合解决方案吗?我有 forceScheme 集,信任所有代理集和您的解决方案。除了分页之外,其余链接生成得很好(使用 HTTPS)。我落后于终止 SSL btw 的负载平衡器。
【解决方案2】:

这是 Heroku 负载平衡系统的副作用。 Heroku 设置了一个 X-Forwarded-Proto 标头,但 Laravel needs some minor configuration 可以正确处理它。这是由 fideloper/proxy 包处理的(从 v5.5 开始,它内置在 Laravel 中)。首先,发布配置文件:

php artisan vendor:publish --provider="Fideloper\Proxy\TrustedProxyServiceProvider"

然后,在生成的config/trustedproxy.php 文件中:

'proxies' => '*',

您的应用现在应该正确反映 HTTP/HTTPS 状态。 (作为额外奖励,您还将获得用户的正确 IP 地址,而不是 Heroku 负载均衡器的内部 IP。)

【讨论】:

  • 如果您有 ssl 用于负载均衡器并且您的应用程序在端口 80 上运行,这将非常有用,谢谢您的客户端 - SSL - 负载均衡器 - 80 - 应用程序
  • @UgurKazdal 是的!很高兴它有帮助。
猜你喜欢
  • 1970-01-01
  • 2012-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-12
  • 2020-05-22
相关资源
最近更新 更多