Приложение Laravel обновляет страницу при входе в AWS? - PullRequest
0 голосов
/ 05 февраля 2019

У меня очень странная ситуация.Я создал приложение laravel и запускаю его в этом образе Docker https://hub.docker.com/r/richarvey/nginx-php-fpm

Приложение прекрасно работает локально, используя docker-compose и локальный контейнер MySQL с коляской, но как только я внедряюсь в ECS, оно имеетстранное поведение.Когда я нажимаю на кнопку «Войти», страница просто обновляется, и никаких внутренних вызовов не происходит.

Страница концентратора докера для контейнера говорит, что вам нужно будет установить реальный IP-адрес при использовании aws elb - что я и сделал (https://gitlab.com/ric_harvey/nginx-php-fpm/blob/master/docs/nginx_configs.md#real-ip--x-forwarded-for-headers)

Я перепробовал почти всев тесте nginx проблема не в этом, а в том числе включении липких сессий. Я пытался установить доменное имя в сеансе conf laravel и файле nova, я даже пытался использовать сеансы, управляемые базой данных.

Что еще интересно, если я настрою ту же конфигурацию с помощью laravel forge, добавлю ALB впереди с поддоменом route53 DNS, он будет работать нормально.

Спасибо за любые предложения в будущем.

1 Ответ

0 голосов
/ 06 февраля 2019

Оказывается, мне нужно было добавить доверенные прокси в https://laravel.com/docs/5.6/requests#configuring-trusted-proxies

, а также принудительно установить https в провайдере

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\URL;

class AppServiceProvider extends ServiceProvider
{
  /**
   * Bootstrap any application services.
   *
   * @return void
   */
  public function boot()
  {
      // force HTTPS
      URL::forceSchema('https');
  }

  /**
   * Register any application services.
   *
   * @return void
   */
  public function register()
  {
      //
  }
}
...