запуск laravel горизонта в производственной среде выдает ошибку 403 при запросе домена / горизонта - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть testet laravel Horizon в моей локальной среде, и все работает как положено. Когда я переключаюсь на рабочий домен / горизонт выдает ошибку 403. Я установил ворота в HorizonServiceProvider, как указано в документации. Первый шаг - просто получить доступ без авторизации. Теперь мои ворота выглядят так:

{
    Gate::define('viewHorizon', function ($user = null) {
        return true;
    });
}

Кто-нибудь может подсказать, что мне не хватает?

ссылка на ошибку 403 ссылка на ошибку 401 - Панель инструментов без данные

Ответы [ 2 ]

0 голосов
/ 18 апреля 2020

Проверьте этот комментарий GitHub: https://github.com/laravel/horizon/issues/563#issuecomment -480882947

Возможно, вам придется зарегистрировать поставщика услуг Horizon.

В config/app.php:

'providers' => [
        /*
         * Application Service Providers...
         */
        App\Providers\AppServiceProvider::class,
    ...
        App\Providers\TelescopeServiceProvider::class,
        App\Providers\HorizonServiceProvider::class,
    ],
0 голосов
/ 18 апреля 2020

Ошибка в том, что horizon - это первый go метод boot , поэтому я рекомендовал вас в HorizonServiceProvider. php измените метод boot , чтобы ваш запрос это:

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        parent::boot();

        Horizon::auth(function ($request) {
            if ($request->ajax()){
                return true;
            }
            else if (isset($request->let_me_go) && $request->let_me_go == 'ok'){
                return true;
            }else{
                throw new UnauthorizedHttpException('Unauthorized');
            }
        });
    }

Поэтому, когда вы будете go на рабочий сервер, вам нужно передать параметр следующим образом:

my-production-site.com / горизонт / приборная панель? let_me_go = ки

...